【发布时间】:2017-09-28 06:00:26
【问题描述】:
我的照片上传表单有误。 我有两个字段,一个用于多张照片,一个用于存档。
<input type="file" name="file[]" multiple="multiple" class="custom-file-input" id="file_upload_gallery" accept="image/*"/>
<input type="file" name="file" class="custom-file-input" id="file_upload" accept="application/zip, application/rar" /> <span class="custom-file-control">
我的 PHP 脚本会引发错误 - 为 foreach() 提供的参数无效
<?php
if (!is_dir($_SERVER['DOCUMENT_ROOT']. '/user_uploads/' . $_POST['user_name'] . '/')){
mkdir($_SERVER['DOCUMENT_ROOT']. '/user_uploads/' . $_POST['user_name'] . '/');
foreach($_FILES['file']['name'] as $key=>$filename) {
print_r($_FILES);
if(move_uploaded_file($_FILES['file']['tmp_name'][$key], $_SERVER['DOCUMENT_ROOT']. '/user_uploads/' . $_POST['user_name'] . '/' . $filename)) {
$uploaded[] = $filename;
}
}
echo json_encode($uploaded);
} else {
foreach($_FILES['file']['name'] as $key=>$filename) {
print_r($_FILES);
if(move_uploaded_file($_FILES['file']['tmp_name'][$key], $_SERVER['DOCUMENT_ROOT']. '/user_uploads/' . $_POST['user_name'] . '/' . $filename)) {
$uploaded[] = $filename;
}
}
echo json_encode($uploaded);
}
?>
哪里出了问题?请帮忙! 谢谢!
【问题讨论】:
-
不会工作
foreach($_FILES['file[]']只是做一个print_r($_FILES)应该告诉你该数组中有什么 -
在您的 HTML 表单中,您意识到上传输入值
file将覆盖上传输入数组值file?它使第一次上传输入毫无意义,因为事情永远不会可读