私が苦労しているコードに問題があります。私はこのエラーの原因を突き止めることはできません。array_keys()は、パラメータ1が配列であることを予期しています。
私は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