PHP連接FTP服務的簡單實現


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);
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM