doufei0933 2010-08-17 13:09
浏览 84
已采纳

如何在PHP中通过ftp上传文件?

I have a form with html browse type and a submit button. I chose a file using browse button and submit the form. On form submission following code is called.

$conn_id="myid";
$conn_id = ftp_connect ( 'server' );
$ftp_user_name="username";
$ftp_user_pass="password";

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

// check connection
if ((! $conn_id ) || (! $login_result )) {
    echo "FTP connection has failed!" ;
    exit;

} else {
    echo "Connected to for user $ftp_user_name" ;
} 

// upload the file
$upload = ftp_put( $conn_id, "images/signatures/" . $fileName , $_FILES['tmp_name'] , FTP_BINARY );

// check upload status
if(!$upload){
    echo "FTP upload has failed!" ;
} else {
    echo "Successfully Uploaded." ;
}

But it produce the following warning:

Warning: ftp_put(): Filename cannot be empty in /var/www/echdp/_ProviderSignature.php on line 70 FTP upload has failed!

But when I hard code the source path in above code then it upload the file on server:

$upload = ftp_put( $conn_id, "images/signatures/myfile.txt" , "/var/www/images/hello.txt" , FTP_BINARY );
  • 写回答

4条回答 默认 最新

  • doujuegai8830 2010-08-17 13:19
    关注

    Example of html code with enctype:

    <form action="upload_file.php" method="post" enctype="multipart/form-data">
    <label for="file">Filename:</label>
    <input type="file" name="myfile" id="file" /> 
    <br />
    <input type="submit" name="submit" value="Submit" />
    </form>
    

    Do you have enctype in Form tag? Without the attribute your file won't be send.

    For debugging of $_FILES array. Try

    var_dump($_FILES);
    

    to see if the data are correct.

    Your variable:

    $_FILES['tmp_name'] 
    

    is used wrongly because $_FILES contain files not a one file. Therefore you should write:

    $_FILES['your-name-in-html-form']['tmp_name'] // your-name-in-html-form = myfile in the example above
    

    Have a look on the example: http://www.zymic.com/tutorials/php/creating-a-file-upload-form-with-php/

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置