溫馨提示×

溫馨提示×

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

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

php ftp_put中上傳失敗的解決方法

發(fā)布時(shí)間:2020-08-24 14:31:30 來源:億速云 閱讀:257 作者:小新 欄目:編程語言

小編給大家分享一下php ftp_put中上傳失敗的解決方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

php ftp_put上傳失敗是因?yàn)?a title="服務(wù)器" target="_blank" href="http://kemok4.com/">服務(wù)器放在防火墻后面,其解決辦法就是開啟FTP被動(dòng)模式,代碼如“ftp_put($conn,"target.rar","local.rar",FTP_BINARY,0);”。

php ftp_put中上傳失敗的解決方法

客戶端在防火墻之后,php利用ftp上傳文件時(shí)候ftp_put失敗

<?php
$conn = ftp_connect("ftp.bacysoft.cn") or die("Could not connect");
ftp_login($conn,"test","test1234");
ftp_put($conn,"target.rar","local.rar",FTP_BINARY,0);
ftp_close($conn);
echo "done";
?>

代碼說明:

本代碼通過PHP服務(wù)器在后臺(tái)使用 FTP 協(xié)議將本地文件 “l(fā)ocal.rar” 上傳到遠(yuǎn)程 FTP 文件服務(wù)器上,并保存為 “target.rar”。即 PHP 服務(wù)器作為 FTP Client 上傳文件到 FTP Server...

以上代碼運(yùn)行后出錯(cuò),錯(cuò)誤提示如下:

Warning: ftp_put() [function.ftp-put]: Opening BINARY mode data connection for target.rar. in E:\wwwroot\bacysoft\wwwroot\test\temp.php on line 4
 
Fatal error: Maximum execution time of 60 seconds exceeded in E:\wwwroot\bacysoft\wwwroot\test\temp.php on line 5

出錯(cuò)原因:

服務(wù)器一般都是放在防火墻后面,因此 FTP 客戶端程序如果需要穿越防火墻,需要開啟被動(dòng)模式,否則執(zhí)行任何 ftp 命令都沒有響應(yīng),直到出現(xiàn) “最大執(zhí)行時(shí)間超時(shí)” 的致命錯(cuò)誤,導(dǎo)致程序終止運(yùn)行...

ftp_pasv($conn, true);

解決辦法:開啟 FTP 被動(dòng)模式,正確代碼如下:

<?php
$conn = ftp_connect("ftp.bacysoft.cn") or die("Could not connect");
ftp_login($conn,"test","test1234");
ftp_pasv($conn, true);
ftp_put($conn,"target.rar","local.rar",FTP_BINARY,0);
ftp_close($conn);
echo "done";
?>

看完了這篇文章,相信你對php ftp_put中上傳失敗的解決方法有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

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

AI