Exemple #1
0
 /**
  * @param string $target
  * @return Database
  * @throws IOException
  */
 public function download(string $target) : self
 {
     $date = new \DateTime('yesterday');
     $url = new URL(preg_replace(array('/%Y/', '/%m/', '/%d/'), array($date->format('Y'), $date->format('m'), $date->format('d')), $this->url));
     (new FTP())->setTimeout(3)->setHost($url->getHost())->setPort($url->getPort())->setUser($url->getUser())->setPassword($url->getPassword())->connect()->login()->passiv()->get($url->getPath(), $target)->disconnect();
     return $this;
 }
Exemple #2
0
 public function testNoSchemaAndChangePort()
 {
     $url = new URL('https://*****:*****@test3:1337/test4/test5.html?test6=test7&test8[]=test9#test10');
     $this->assertEquals('https', $url->getScheme());
     $this->assertEquals('test1', $url->getUser());
     $this->assertEquals('test2', $url->getPassword());
     $this->assertEquals('test3', $url->getHost());
     $this->assertEquals(1337, $url->getPort());
     $this->assertEquals('/test4/test5.html', $url->getPath());
     $this->assertEquals('test6=test7&test8[]=test9', $url->getQuery());
     $this->assertEquals('test10', $url->getFragment());
     $this->assertEquals('https://*****:*****@test3:1337/test4/test5.html?test6=test7&test8[]=test9#test10', $url->getURL());
     $url->setURL('//test3:8080');
     $this->assertEquals('https', $url->getScheme());
     $this->assertEquals('', $url->getUser());
     $this->assertEquals('', $url->getPassword());
     $this->assertEquals('test3', $url->getHost());
     $this->assertEquals(8080, $url->getPort());
     $this->assertEquals('/', $url->getPath());
     $this->assertEquals('', $url->getQuery());
     $this->assertEquals('', $url->getFragment());
     $this->assertEquals('https://test3:8080/', $url->getURL());
 }