2017-07-05 12 views
1

このスクリプトを使用して、myfileをcurl関数とftp接続でアップロードしています。ftp接続を使用してPHP cURLでファイルをアップロードするには?

ローカルでは正常に動作しますが、サーバーファイルにはアップロードされたように見えますが、ファイルサイズはゼロです。

何が間違っていますか?ありがとうございました。

$ch = curl_init(); 
$localfile = (dirname(__FILE__).'/asset/myfile.zip'); 
$fp = fopen($localfile, 'r'); 
curl_setopt($ch, CURLOPT_URL, "ftp://$user_name:[email protected]$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); 

などもどのように私は、このスクリプトで複数のファイルをアップロードすることができます。このソース5月はあなたの問題を助け

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

答えて

2

あなたがcurl_file_create .Tryを使用することができますカールにファイルをアップロードするには1以下:

$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:[email protected]$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); 
関連する問題