Snadné připojení k FTP pomocí PHP
Mám v oblibě zkrácený zápis připojení k FTP. PHP tento způsob zápisu připojení bohužel nepodporuje. Proto jsem napsal jednoduchou funkci, která patřičně rozebere zaslanou adresu, vytvoří nové připojení, přihlásí uživatele a změní cestu.
/**
* Vraci ID FTP pripojeni na zaklade zadane URL
* ftp://username:password@sld.domain.tld:21/path1/path2/
*/
function getFtpConnection($uri)
{
preg_match("/(?P<protocol>ftps?:\/\/)(?P<username>.*?):(?P<password>.*?)@(?P<url>.*?):?(?P<port>[1-9]+)?(?<dir>\/.*)/i", $uri, $match);
$conn = ftp_connect($match['url'], empty($match['port']) ? 21 : (int)$match['port']) or die("Couldn't connect to " . $match['url']);
if (ftp_login($conn, $match['username'], $match['password'])) {
ftp_chdir($conn, $match['dir']);
return $conn;
}
return null;
}
Výstupem funkce je samozřejmě ID připojení, se kterým pak můžete normálně pracovat dál. Funkci najdete také zde: https://gist.github.com/998091