使用PHP ftp_put 排查FTP 上傳失敗
問題:
問題:問題:
嘗試使用檔案時使用ftp_put 將XML 檔案傳輸到FTP 伺服器,操作始終失敗並傳回false。
解決方法:<code class="php">$connect = ftp_connect($ftp) or die("Unable to connect to host"); ftp_login($connect, $username, $pwd) or die("Authorization failed"); ftp_pasv($connect, true) or die("Unable switch to passive mode");</code>
切換到被動FTP 模式:
ftp_put 失敗的最常見原因是PHP 的預設行為,它使用主動FTP 模式。在許多情況下,解決方案是使用 ftp_pasv 函數切換到被動模式。以下是程式碼片段:<code class="php">ftp_set_option($connect, FTP_USEPASVADDRESS, false);</code>
設定PASV 位址:
[PHP ftp_put 失敗並顯示「警告:ftp_put(): PORT 指令成功"](https://stackoverflow.com/questions/13218988/php-ftp-put-fails-with-warning-ftp-put-port-command-successful)
[主動與被動FTP 連線模式](https://stackoverflow.com/questions/10037230/how-can-i-check-if-passive-ftp-mode-is-enabled-in-php)[PHP FTP NAT 後面的被動FTP 伺服器](https://stackoverflow.com/questions/3054294/php-ftp-passive-ftp-server-behind-nat) 注意: 要注意的是,ftp_pasv 必須在ftp_login 之後呼叫才能生效。以上是如何使用 PHP ftp_put 解決 FTP 上傳失敗的問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!