警告:为第265行的D:\server\htdocs\skyk\admin\manage-work.php中的foreach()提供的参数无效
我想上传多个文件,在单个输入上使用“子文件”的名称 下面是php代码警告:为第265行的D:\server\htdocs\skyk\admin\manage-work.php中的foreach()提供的参数无效,php,Php,我想上传多个文件,在单个输入上使用“子文件”的名称 下面是php代码 $uploads_dir = "work/"; foreach ($_FILES["subfile"]["name"] as $key => $error) { if ($error == UPLOAD_ERR_OK) { $tmp_name = $_FILES["subfile"]["tmp_name"][$key]; $name = $_FILES["subfile"]["
$uploads_dir = "work/";
foreach ($_FILES["subfile"]["name"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["subfile"]["tmp_name"][$key];
$name = $_FILES["subfile"]["name"][$key];
$pic12="work/";
move_uploaded_file($tmp_name, "$uploads_dir/$name");
// $insertalbumimage=mysql_query("INSERT INTO `gallery`(`image`, `albumid`) VALUES ('$pic12','$album')");
}
}
我已经尝试了
if(isset($\u FILES['subfiles]]){}
上载多个文件,您需要执行以下操作:
- 输入名称必须定义为数组,即name=“inputName[]”
- 输入元素必须有multiple=“multiple”或只有multiple
- 在PHP文件中使用语法“$\u FILES['inputElemName']['param'][index]”
- 查找空文件名和路径,数组可能包含空字符串
HTML:
PHP:
//循环浏览每个文件
对于($i=0;$i),为了确保为foreach提供了正确的数据类型,您可以先检查变量的数据类型:
if(!empty($_FILES["subfile"]["name"]) && is_array($_FILES["subfile"]["name"])){
foreach ($_FILES["subfile"]["name"] as $key => $error) {
//etc ...............
}
}
这样,您就可以确保防止出现显示表单html时出现的错误。我怀疑这是因为您没有name=“subfile[]”
Showprint\r($\u文件);
if(!empty($_FILES["subfile"]["name"]) && is_array($_FILES["subfile"]["name"])){
foreach ($_FILES["subfile"]["name"] as $key => $error) {
//etc ...............
}
}