PHPからFTPにファイルをアップロードしようとしています。実際には動作しますが、複数のファイルでは動作しません。これは私が持っているコードです。FTP muliple files upload PHP
for($i = 0; $i < count($data['data']['metas']); $i++)
{
echo "<li>".$data['data']['metas'][$i]["name"]."</li>";
echo "<li>".$data['data']['metas'][$i]["file"]."</li>";
echo "<li>".$data['data']['metas'][$i]["size2"]."</li>";
}
これは実際に動作します。アップロードしたファイルのデータを返します。
- FILENAME01.EXT
- upload/FILENAME01.EXT
- 198.96 KB
- FILENAME02.EXT
- upload/FILENAME01.EXT
- 93.77 KB
- FILENAME03.EXT
- upload/FILENAME03.EXT
- 94.59 KB
これまでのところ、とても良いです。今はFTPコードにアップロードを追加していますが、これが私のものです(上記のコードの直下)。
for($i = 0; $i < count($data['data']['metas']); $i++)
{
$host = "ftp.domain.com";
$username = "myuser";
$password = "mupass";
$local_file = $data['data']['metas'][$i]["file"];
$remote_file = $data['data']['metas'][$i]["name"];
$con = ftp_connect($host, 21) or die("Cant connect");
$log = ftp_login($con, $username, $password) or die("Wrong credentials");
ftp_pasv($con, true);
$upload = ftp_put($con, $remote_file, $local_file, FTP_BINARY);
if($upload) echo 'ftp error';
ftp_close($con);
echo 'ftp success';
exit;
}
アップロードされたファイルに関する情報の下で、1行に「ftp errorftp success」が返されます。アップロードした最初のファイルのみがFTPにアップロードされますが、すべてアップロードされるわけではありません。私は理由を理解できないようだ。私はここで何が欠けていますか?助けをお待ちしています。
恐ろしい先端!私はあなたが今ここで言っていることを試しました、そして今、それはすべて完璧に動作します。ヒントをありがとう! – zorensen