php ftp_put失敗的解決方法:先開啟「Upload/Driver/Ftp.class.php」;然後使用「ftp_pasv($this->link,true);」方法切換到被動模式;最後在客戶端重新上傳文件即可。
推薦:《PHP教學》
PHP Upload FTP磁碟ftp_put 函數上傳失敗問題
2台伺服器,一台做ftp伺服器,一台做web伺服器。
我使用的thinkphp3.2得Upload類,使用了上傳FTP驅動,但每次都說檔案儲存失敗。
我找答案,非同步和同步都測試,都不行,遠端/tmp/ 和ftp目錄也有777權限。
Thinkphp應該很成熟,後面我在官方的文檔找到了一些答案,其中有解釋模式
ftp伺服器主動模式,ftp伺服器被動模式,我使用ftp_pasv($this-> ;link,true); 切換到被動模式,客戶端就可以順利上傳檔案了。
下面是解決方案
Upload/Driver/Ftp.class.php sava函數
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失敗怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!