亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

PHP的ftp_put操作失敗
P粉884548619
P粉884548619 2023-08-24 22:05:13
0
2
838
<p>我透過FTP上傳XML檔:</p> <pre class="brush:php;toolbar:false;">$ftp = "ftp"; $username = "使用者名稱"; $pwd = "密碼"; $filename = $_FILES[$xyz][$abc]; $tmp = $_FILES['file']['tmp_name']; $destination = "/Content/EnquiryXML "; $connect = ftp_connect($ftp)or die("無法連線到主機"); ftp_login($connect,$username,$pwd)or die("授權(quán)失敗"); echo "已連線!<br/>"; if(!$filename) { echo"請選擇檔案"; } else { ftp_put($connect,$destination.'/'.$filename,$tmp,FTP_ASCII)or die("無法上傳"); echo"檔案成功上傳到FTP"; }</pre> <p>我想使用<code>DOMDocument</code>建立的XML檔案傳送到FTP伺服器,但我無法成功。 </p> <p><code>ftp_put</code>回傳false。 </p>
P粉884548619
P粉884548619

全部回覆(2)
P粉225961749

這個工作了:

// 連接并登錄到FTP服務(wù)器
$ftp_server = "主機";
$ftp_username = "用戶名";
$ftp_userpass = "密碼";
$ftp_conn = ftp_connect($ftp_server) or die("無法連接到 $ftp_server");
$login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);
$file ="$abc";

// 上傳文件
if (ftp_put($ftp_conn, "/$abc" , $file, FTP_ASCII)){
    echo "成功上傳文件 $file。";
} else {
    echo "上傳文件 $file 出錯";
}

// 關(guān)閉連接
ftp_close($ftp_conn);
P粉056618053

導(dǎo)致ftp_put(或任何其他傳輸指令,如ftp_get、ftp_nlist、ftp_rawlistftp_mlsd )出現(xiàn)問題的最常見原因是PHP預(yù)設(shè)為主動模式。在99%的情況下,需要切換到被動模式才能使傳輸正常運作。使用ftp_pasv函數(shù)。

$connect = ftp_connect($ftp) or die("無法連接到主機");
ftp_login($connect, $username, $pwd) or die("授權(quán)失敗");
// 打開被動模式
ftp_pasv($connect, true) or die("無法切換到被動模式");

ftp_pasv必須在ftp_login之後呼叫。在之前調(diào)用它沒有效果。

另請參見:


此外,如果您的FTP伺服器在回應(yīng)PASV命令時報告了錯誤的IP位址(如果伺服器位於防火牆/NAT後,這是相當(dāng)常見的),您可能需要使用以下方式解決:

ftp_set_option($connect, FTP_USEPASVADDRESS, false);

請參考PHP FTP 被動FTP伺服器位於NAT後面。

儘管在這種情況下,正確的解決方案是修復(fù)伺服器。

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板