我使用卷曲从一台服务器传输图像文件到另一个使用PHP。这是我的卷曲代码:多文件上传与卷曲
// Transfer the original image and thumbnail to our storage server
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, 'http://' . $server_data['hostname'] . '.localhost/transfer.php');
curl_setopt($ch, CURLOPT_POST, true);
$post = array(
'upload[]' => '@' . $tmp_uploads . $filename,
'upload[]' => '@' . $tmp_uploads . $thumbname,
'salt' => 'q8;EmT(Vx*Aa`fkHX:up^WD^^b#<Lm:Q'
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$resp = curl_exec($ch);
这是在服务器上transfer.php我上传的代码:
if($_FILES && $_POST['salt'] == 'q8;EmT(Vx*Aa`fkHX:up^WD^^b#<Lm:Q')
{
// Save the files
foreach($_FILES['upload']['error'] as $key => $error)
{
if ($error == UPLOAD_ERR_OK)
{
move_uploaded_file($_FILES['upload']['tmp_name'][$key], $_FILES['upload']['name'][$key]);
}
}
}
一切似乎从一个小逻辑错误的工作,除了。只有一个文件正在保存在我转移到的服务器上。这可能是因为我在我的post字段数组中调用了两个图像upload[]
,但我不知道该怎么做。我试图模仿这样做:
<input type="file" name="upload[]" />
<input type="file" name="upload[]" />
任何人都知道我能如何得到这个工作?谢谢!
这不会吐出任何东西,这意味着行动是好的。目标目录与transfer.php脚本是相同的目录。这只是一个存储服务器,没有目录结构。 – Josh
做一个'print_r($ _ FILES)',准确地看到文件名和类似内容。即使双方都在你的控制之下,直接使用文件名也会让你感到紧张。 –