У меня проблема с моим кодом, с которым я боролся. Я просто не могу понять, что вызывает эту ошибку.array_keys() ожидает, что параметр 1 будет массивом, значение null задано
Итак, я сделал форму загрузки в своей CMS. Если я загружу 9 фотографий, он отлично работает. Если я загружу более 9 файлов, это даст мне эту ошибку:
array_keys() expects parameter 1 to be array, null given in C:...upload.php on line 18
Может кто-нибудь помочь мне?
Код:
$file_ary = reArrayFiles($_FILES['ufile']);
//Reorganising the $_FILES:
function reArrayFiles(&$file_post) {
$file_ary = array();
$file_count = count($file_post['name']);
$file_keys = array_keys($file_post);
for ($i=0; $i<$file_count; $i++) {
foreach ($file_keys as $key) {
$file_ary[$i][$key] = $file_post[$key][$i];
}
}
return $file_ary;
}
foreach ($file_ary as $file) {
$dir = "imgs/" . $last_fotoid . "/";
if (!file_exists($dir)) {
mkdir("imgs/" . $last_fotoid . "/");
}
$target_file = $dir . basename($file["name"]);
move_uploaded_file($file["tmp_name"], $target_file);
}
Моя форма:
<form method="post" action="upload.php" enctype="multipart/form-data">
Select image to upload:<br>
<input type="file" name="ufile[]" multiple>
<input type="submit" value="Upload Image" name="submit">
</form>
код, который вы скопировали, не очень помогает. Но в основном вам нужно убедиться, что при вызове метода ** reArrayFiles ** вы передаете массив – Ali
$ _FILES ['ufile'] - это массив, поэтому он должен работать – laurensvanheerde
ну, не всегда, только при отправке формы. невозможно сказать, глядя на код, который вы опубликовали. – Ali