【发布时间】:2017-07-13 20:32:55
【问题描述】:
我正在尝试将文件从 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,而不是全部。我似乎无法弄清楚为什么。我在这里想念什么?感谢任何帮助。
【问题讨论】:
标签: php file-upload ftp