【问题标题】:PHP - FTP file upload errorPHP - FTP文件上传错误
【发布时间】:2012-05-01 19:03:17
【问题描述】:

我正在向我的网站添加 FTP 上传,并在实时测试时不断收到此错误。该脚本在我的本地主机上完全运行。

在我的虚拟主机服务器上阻止它的原因是什么?

警告:ftp_login() 期望参数 1 是资源,给定的布尔值 在 /home/content/20/8630520/html/filedrop.php 第 134 行

    <div id="form">
    <?

    if(!isset($_POST["submit"])){?>

    <form action="filedrop.php" method="POST" enctype="multipart/form-data">
    <fieldset>
        <label><span class="error">*</span> Server:</label> 
        <input size="50" type="text" name="server" value=""/>

        <label><span class="error">*</span> Username:</label> 
        <input size="50" type="text" name="user"  value=""/>

        <label><span class="error">*</span> Password:</label> 
        <input size="50" type="password" name="password" value=""/>

        <label><span class="error">*</span> Select File:</label> 
        <input name="userfile" type="file" size="50" style="height:23px;"/>

        <input type="submit" name="submit" value="Upload" />
    </fieldset>
    </form>
    <?}
    else 
    {

    set_time_limit(300);//for uploading big files

    $paths=$_POST['pathserver'];

    $filep=$_FILES['userfile']['tmp_name'];

    $ftp_server=$_POST['server'];

    $ftp_user_name=$_POST['user'];

    $ftp_user_pass=$_POST['password'];

    $name=$_FILES['userfile']['name'];



    // set up a connection to ftp server
    $conn_id = ftp_connect($ftp_server);

    // login with username and password
    $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

    // check connection and login result
    if ((!$conn_id) || (!$login_result)) {
    echo "1.) FTP connection has encountered an error!</br>";
    echo "2.) Attempted to connect to $ftp_server for user $ftp_user_name....</br>";
    echo "Go <a href=\"filedrop.php\">back</a> and try again.";
    exit;
    } else {
    echo "1.) Connected to $ftp_server, for user $ftp_user_name".".....</br>";
    }

    // upload the file to the path specified
    $upload = ftp_put($conn_id, $paths.'/'.$name, $filep, FTP_BINARY);

    // check the upload status
    if (!$upload) {
    echo "2.) FTP upload has encountered an error!</br>";
    echo "Go <a href=\"filedrop.php\">back</a> and try again.";
    } else {
    echo "2.) Uploaded file with name $name to $ftp_server ";
    echo "Go <a href=\"filedrop.php\">back</a> to upload more.";

    }

    // close the FTP connection
    ftp_close($conn_id);    

    }
    ?>
</div>

我需要修改这个吗?或者添加另一个文件?我不完全是 PHP 高级。

谢谢,

赛斯

【问题讨论】:

    标签: php ftp


    【解决方案1】:

    这意味着您对ftp_connect() 的调用失败并且您没有将有效的资源ID 传递给ftp_login()(实际上您传递的是false,这是一个布尔值)。您需要弄清楚您的 ftp_connect() 失败的原因。

    【讨论】:

      猜你喜欢
      • 2014-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多