溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何解決php ftp_put失敗的問題

發(fā)布時間:2020-07-24 16:18:50 來源:億速云 閱讀:403 作者:Leah 欄目:編程語言

本篇文章給大家分享的是有關(guān)如何解決php ftp_put失敗的問題,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

php ftp_put失敗的解決辦法:首先打開“Upload/Driver/Ftp.class.php”;然后使用“ftp_pasv($this->link,true);”方法切換到被動模式;最后在客戶端重新上傳文件即可。

PHP Upload FTP驅(qū)動 ftp_put 函數(shù)上傳失敗問題

2臺服務(wù)器,一臺做ftp服務(wù)器,一臺做web服務(wù)器。

我使用的thinkphp3.2得Upload類,使用了上傳FTP驅(qū)動,但是每次都說文件保存失敗。

我尋找答案,異步和同步都測試,都不行,遠程端/tmp/ 和ftp目錄也有777權(quán)限。

Thinkphp應(yīng)該很成熟,后面我在官方的文檔找到了一些答案,其中有解釋模式

ftp服務(wù)器主動模式,ftp服務(wù)器被動模式,我使用 ftp_pasv($this->link,true); 切換到被動模式,客戶端就可以順利上傳文件了。

下面是解決方案

Upload/Driver/Ftp.class.php sava函數(shù)

public function save($file, $replace=true) {
        $filename = $file['rootPath']. $file['savepath'] . $file['savename'];
        /* 不覆蓋同名文件 */
        // if (!$replace && is_file($filename)) {
        //     $this->error = '存在同名文件' . $file['savename'];
        //     return false;
        // }
        ftp_pasv($this->link,true);
        ftp_pwd($this->link);
        $filename=$file['savename'];
        if (!ftp_put($this->link, $filename, $file['tmp_name'],FTP_ASCII)) {
            $this->error = '文件上傳FTP錯誤!';
            return false;
        }
        return true;
    }

以上就是如何解決php ftp_put失敗的問題,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI