PHP連接FTP服務:
<?php class Ftp { private $connect; private $getback; /** * ftp連接信息 * @var array */ private $ftpConnInfo = [ 'host' => '127.0.0.1', 'port' => '21', 'timeout' => '90', ]; //連接FTP function connect ($user, $passwd) { $this->connect = @ftp_connect(...$this->ftpConnInfo); $login = @ftp_login($this->connect, "{$user}", "{$passwd}"); if ((!$this->connect)(!$login)) { echo "connect failed: {$this->ftpConnInfo['host']} for user {$user} \n"; die; } else { echo "Connected success \n"; } } /** * 獲取文件最后的修改時間 * @param $remoteFile * @return int the last modified time as a Unix timestamp on success, or -1 on error */ function lastmodtime ($remoteFile) { return ftp_mdtm($this->connect, $remoteFile); } /** * 更改當前目錄 * @param $directory * @return bool */ function changedir ($directory) { return ftp_chdir($this->connect, $directory); } /** * 獲取當前目錄 * @return string */ function getdir () { return ftp_pwd($this->connect); } /** * 獲取目錄中的文件列表 * @param $directory * @return array */ function getFilelist ($directory) { return ftp_nlist($this->connect, $directory); } /** * 設置被動模式是否開啟,true開啟 * @param $pasvmode * @return bool */ function setPasvmode ($pasvmode) { //把FTP服務器部署在防火牆或者NAT服務器的背后, //則采用主動操作模式的客戶端只能夠建立命令連接而無法進行文件傳輸 return ftp_pasv($this->connect, $pasvmode); } /** * 退出ftp連接 */ function closeFtp () { ftp_quit($this->connect); } }