簡體   English   中英

PHP ftp上傳錯誤

[英]PHP ftp upload error

我在使用簡單的PHP腳本將文件上傳到ftp服務器時遇到奇怪的行為。

我創建了以下精簡版代碼,產生了相同的錯誤:

<?php

error_reporting(E_ALL);
echo phpversion();

$ftpUrl = "mydomain";
$ftpUserName = "myuser";
$ftpPassword = 'mypass';    

$fileContents = "test"; 
file_put_contents('text.txt', $fileContents);


//open ftp connection
$conn_id = ftp_connect($ftpUrl, 1030);

 if(!$conn_id)
    die('error while connecting to ftp');

$login_result = ftp_login($conn_id, $ftpUserName, $ftpPassword);

 if (!$login_result) 
    die('ftp login failed!');

//switch to passive mode
ftp_pasv($conn_id, true);

 //upload file to ftp
try
{
    $fileToUpload = fopen('text.txt', 'r');

    if($fileToUpload == false)
        die('can\'t open file to send!');

    $upload = ftp_fput($conn_id, 'testfile.txt', $fileToUpload, FTP_ASCII);
}
catch(Exception $e)
{
    fclose($fileToUpload);
    ftp_close($conn_id);
    die('Error while uploading to ftp');            
}

fclose($fileToUpload);
ftp_close($conn_id);

if (!$upload) 
    die('ftp upload failed');

?>

在客戶端的ftp服務器上,運行腳本時出現以下錯誤。 (嘗試上傳文件,建立連接並進行登錄時會發生錯誤)

Warning: ftp_fput() [function.ftp-fput]: php_connect_nonb() failed: Operation now in progress (115) in {path} on line 38

Warning: ftp_fput() [function.ftp-fput]: Type set to A in {path} on line 38
ftp upload failed
  • 使用filezilla將同一文件上傳到此ftp服務器可以正常工作。
  • 該文件僅包含幾行文本。
  • 在其他服務器上運行此腳本時,它可以正常工作。

服務器使用php版本5.3.28

我已經為這個錯誤苦苦掙扎了幾個小時,這讓我發瘋。 有什么線索嗎?

Ftp_put()將文件作為參數,您正在傳遞文件句柄

嘗試

ftp_put($conn_id,'testfile.txt', 'test.txt', FTP_ASCII);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM