小編給大家分享一下php ftp_put中上傳失敗的解決方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
目前成都創(chuàng)新互聯(lián)公司已為近千家的企業(yè)提供了網(wǎng)站建設、域名、網(wǎng)絡空間、網(wǎng)站托管、服務器租用、企業(yè)網(wǎng)站設計、會澤網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。php ftp_put上傳失敗是因為服務器放在防火墻后面,其解決辦法就是開啟FTP被動模式,代碼如“ftp_put($conn,"target.rar","local.rar",FTP_BINARY,0);”。
客戶端在防火墻之后,php利用ftp上傳文件時候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服務器在后臺使用 FTP 協(xié)議將本地文件 “l(fā)ocal.rar” 上傳到遠程 FTP 文件服務器上,并保存為 “target.rar”。即 PHP 服務器作為 FTP Client 上傳文件到 FTP Server...
以上代碼運行后出錯,錯誤提示如下:
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
出錯原因:
服務器一般都是放在防火墻后面,因此 FTP 客戶端程序如果需要穿越防火墻,需要開啟被動模式,否則執(zhí)行任何 ftp 命令都沒有響應,直到出現(xiàn) “大執(zhí)行時間超時” 的致命錯誤,導致程序終止運行...
ftp_pasv($conn, true);
解決辦法:開啟 FTP 被動模式,正確代碼如下:
<?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中上傳失敗的解決方法有了一定的了解,想了解更多相關知識,歡迎關注創(chuàng)新互聯(lián)-成都網(wǎng)站建設公司行業(yè)資訊頻道,感謝各位的閱讀!
分享名稱:phpftp_put中上傳失敗的解決方法-創(chuàng)新互聯(lián)
當前地址:http://jinyejixie.com/article42/csdohc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設、用戶體驗、網(wǎng)站制作、外貿(mào)建站、域名注冊、手機網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)