[英]FTP muliple files upload PHP
我正在嘗試將文件從PHP上傳到FTP。 它實際上有效,但不適用於多個文件。 這是我的代碼;
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;
}
這將在有關我上載的文件的信息下的一行上返回“ ftp errorftp success”。 我上傳的第一個文件只會上傳到FTP,而不是全部上傳到FTP。 我似乎不知道為什么。 我在這里想念什么? 感謝任何幫助。
您收到ftp error
回聲的原因是, $upload
第一個文件時, $upload
變量將具有true值。 然后在代碼末尾退出,該腳本將停止腳本以繼續循環。 請移除exit;
並嘗試。 另請參閱此參考。 這里
另外,請不要在循環中打開和關閉ftp連接,在循環完成時將其關閉,並將所有文件上傳到ftp。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.