0
我想通過PHP發佈圖像到我的網站文件目錄。這確切的代碼適用於該網站的其他頁面,但我有得到它的這個網頁上工作的問題:無效的參數給予foreach循環php
if(isset($_FILES['files'])){
$errors= array();
for($i=0;$i<count($_FILES['files']['tmp_name']); $i++){
$file_name = $_FILES['files']['name'][$i];
$file_size =$_FILES['files']['size'][$i];
$file_tmp =$_FILES['files']['tmp_name'][$i];
$file_type=$_FILES['files']['type'][$i];
if($file_size > 2097152){
$errorMessage2.="File size must be less than 2 MB";
}
$img_dir="../images/property_directory";
if(is_dir($img_dir)==false){
mkdir("$img_dir", 0700, true); // Create directory if it does not exist
}
if(is_dir("$img_dir/".$file_name)==false){
move_uploaded_file($file_tmp,"$img_dir/". $file_name);
$filePath[$i] = "$img_dir/" . $file_name;
}else{// rename the file if another one exist
$new_dir="$img_dir/".$file_name.time();
rename($file_tmp,$new_dir) ;
$filePath[$i] = "$img_dir/" . $file_name.time();
}
}
}
if(empty($errorMessage2)){
$filePathArr = "";
foreach ($filePath as $v) {
$filePathArr .= "$v ";
}
foreach循環拋出一個錯誤,說「提供的foreach無效參數()」我不要以爲數組是空的,因爲我使用文件[]按鈕提供文件。
爲什麼不驗證$ filePath包含一個好的ol時尚'var_dump($ filePath);'就在foreach之前? –
@devlincarnate嗯,它似乎是「NULL」,這很奇怪 –
你確定'$ _FILES ['files']'被設置?如果未設置,則不會進入第一個循環,因此您將永遠不會設置「$ filePath」。 if(isset($ _FILES ['files']))'if(empty($ errorMessage2))'應該在if內。 – Barmar