如何使用ftp连接通过PHP cURL上传文件?

如何使用ftp连接通过PHP cURL上传文件?,php,curl,Php,Curl,我使用这个脚本通过curl函数和ftp连接上传我的文件 在本地,它可以正常工作,但在我的服务器上,文件似乎已上载,但文件大小为零 怎么了?多谢各位 $ch = curl_init(); $localfile = (dirname(__FILE__).'/asset/myfile.zip'); $fp = fopen($localfile, 'r'); curl_setopt($ch, CURLOPT_URL, "ftp://$user_name:$user_pass@$server/".'myf

我使用这个脚本通过curl函数和ftp连接上传我的文件

在本地,它可以正常工作,但在我的服务器上,文件似乎已上载,但文件大小为零

怎么了?多谢各位

$ch = curl_init();
$localfile = (dirname(__FILE__).'/asset/myfile.zip');
$fp = fopen($localfile, 'r');
curl_setopt($ch, CURLOPT_URL, "ftp://$user_name:$user_pass@$server/".'myfile.zip');
curl_setopt($ch, CURLOPT_UPLOAD, 1);
curl_setopt($ch, CURLOPT_INFILE, $fp);
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($localfile));
curl_exec ($ch);
curl_close ($ch);
以及如何在此脚本中上载多个文件,如:

$localfile1 = (dirname(__FILE__).'/asset/myfile1.zip');
$localfile2 = (dirname(__FILE__).'/asset/myfile2.zip');
$localfile3 = (dirname(__FILE__).'/asset/myfile3.zip');

这个来源可能会帮助你解决问题


此来源可能有助于解决您的问题


要在curl中上载文件,可以使用。请尝试以下方法:

$localfile = (dirname(__FILE__).'/asset/myfile.zip');
$curl_file = curl_file_create($localfile,'zip');
$params = ['file' => $curl_file];

$ch = curl_init();
$localfile = (dirname(__FILE__).'/asset/myfile.zip');
$fp = fopen($localfile, 'r');
curl_setopt($ch, CURLOPT_URL, "ftp://$user_name:$user_pass@$server/".'myfile.zip');
curl_setopt($ch, CURLOPT_UPLOAD, 1);
//curl_setopt($ch, CURLOPT_INFILE, $fp);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($localfile));
curl_exec ($ch);
curl_close ($ch);

要以curl格式上载文件,可以使用。请尝试以下方法:

$localfile = (dirname(__FILE__).'/asset/myfile.zip');
$curl_file = curl_file_create($localfile,'zip');
$params = ['file' => $curl_file];

$ch = curl_init();
$localfile = (dirname(__FILE__).'/asset/myfile.zip');
$fp = fopen($localfile, 'r');
curl_setopt($ch, CURLOPT_URL, "ftp://$user_name:$user_pass@$server/".'myfile.zip');
curl_setopt($ch, CURLOPT_UPLOAD, 1);
//curl_setopt($ch, CURLOPT_INFILE, $fp);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($localfile));
curl_exec ($ch);
curl_close ($ch);