PHP ftp_put 警告 警告 : ftp_put() [function. ftp-put] : Type set to I. in

标签 php file ftp transfer

当我尝试使用 PHP 的 ftp_put 函数上传文件时,早些时候出现错误:

警告:ftp_put() [function.ftp-put]:无数据连接

现在,我尝试开启被动模式:

ftp_pasv($conn_id, true);

然后出现错误:

警告:ftp_put() [function.ftp-put]:类型设置为 I.in

ftp_login 正确完成并显示成功。

现在它给出了新的警告:警告:ftp_put() [function.ftp-put]: abc.txt: Cannot open or remove a file containing a running program.

任何想法,为什么文件不传输?

谢谢!

这是我的代码片段:

    $conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");

    $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass) or die("You do not have access to this ftp server!");

    if ((!$conn_id) || (!$login_result)) {
        // wont ever hit this, b/c of the die call on ftp_login
        echo "<span style='color:#FF0000'><h2>FTP connection has failed! <br />";
        echo "Attempted to connect to $ftp_server for user $ftp_user_name</h2></span>";
        exit;
    } else {
        //echo "Connected to $ftp_server, for user $ftp_user_name <br />";
    }

    //turn passive mode on
    ftp_pasv($conn_id, true);

    $upload = ftp_put($conn_id, $destination_file.$name, $filename, FTP_BINARY);

    if (!$upload) {
        echo "<span style='color:#FF0000'><h2>FTP upload of $filename has failed!</h2></span> <br />";
    } else {
        echo 'Uploaded';    
    }

 ftp_close($conn_id);

最佳答案

http://php.net/ftp_pasv

$resource = ftp_connect('ftp.example.com');
ftp_login($resource, 'username', 'password');

# set this to true
ftp_pasv($resource, true);

ftp_get(...);
ftp_put(...);

我收到了相同的(描述性不强的)错误消息 E_WARNING ftp_get(): Type set to I.

我发现这是因为运行 PHP 的服务器没有可见的公共(public) IP(它是我工作站上的虚拟服务器)。

解决方案是使用被动模式。默认设置(主动模式)在直播服务器上没有问题,因为直播服务器有可见的公共(public)IP。

关于PHP ftp_put 警告 警告 : ftp_put() [function. ftp-put] : Type set to I. in,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6147806/

相关文章:

php - 在 mySQL 表中搜索用户并将 true 或 false 返回到 $result?

c++ - 如何将打印从屏幕(或任何 FILE*)重定向到 C++ 中的字符串/字符*

c++ - 在 C++ 中处理大 gzfile

r - 如何使用 R 通过 FTP 推送 .csv 文件?

php - 压缩字符串数据以供存储和检索

php - 在 PHP 中显示来自 PostgreSQL 数据库的图像

php/sql AND 语句不起作用

javascript - jquery - 从txt文件读取数据并分配给不同的变量

android - 获取连接失败 : ETIMEDOUT (Connection timed out) in ftp connect

php - 使用 php 无法将文件从一台服务器上传到另一台服务器?