【问题标题】:Upload local file to another server using PHP FTP or CURL [duplicate]使用 PHP FTP 或 CURL 将本地文件上传到另一台服务器 [重复]
【发布时间】:2020-05-04 10:51:56
【问题描述】:

我尝试将本地文件上传到在线服务器。 我创建了一个 FTP 连接来上传文件,但它不起作用。

这是我尝试过的代码:

// connect and login to FTP server

$ftp_server     = 'ftp.example.so';
$ftp_user_name  = 'name@example.so';
$ftp_user_pass  = 'password';

$ftp_conn       = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
$login          = ftp_login($ftp_conn, $ftp_user_name, $ftp_user_pass);

if($login) {
   echo 'connected<br>'; 

   $local_file = 'file_name.txt';
   $server_dir = 'https://example.so/folder/';

   // upload a file
   if (ftp_put($ftp_conn, $server_dir, $local_file, FTP_ASCII)) {
       echo "successfully uploaded $local_file\n";
       exit;
   } else {
       echo "There was a problem while uploading $local_file\n";
       exit;
   }
} 

运行后,我得到了

警告:ftp_put():无法打开该文件:第 101 行的 D:\XAMPP\htdocs\project\upload.php 中没有这样的文件或目录

【问题讨论】:

    标签: php ftp upload


    【解决方案1】:

    ftp_put$remote_file 参数是 FTP 服务器上 文件路径

    您正在将 URL 传递到 文件夹

    如果应该是这样的:

    $remote_file = "/folder/file_name.txt";
    

    【讨论】:

      【解决方案2】:

      请检查'file_name.txt'的正确路径;

      【讨论】:

      • 已检查并位于同一文件夹中
      【解决方案3】:

      现在可以了,我改了

      if($login) {
         echo 'connected<br>'; 
      
         $local_file = 'file_name.txt';
         // $server_dir = 'https://example.so/folder/'; no need
      
         // upload a file
         if (ftp_put($ftp_conn, $local_file, $local_file, FTP_ASCII)) { // changed
             echo "successfully uploaded $local_file\n";
             exit;
         } else {
             echo "There was a problem while uploading $local_file\n";
             exit;
         }
      
      } 
      

      【讨论】:

        猜你喜欢
        • 2013-12-14
        • 2017-01-23
        • 2014-03-22
        • 2018-07-08
        • 1970-01-01
        • 1970-01-01
        • 2011-11-05
        • 2015-05-14
        • 1970-01-01
        相关资源
        最近更新 更多