我试图通过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()提供了无效的参数”我不认为该数组是空的,因为我使用files []按钮为它提供了一个文件。
答案 0 :(得分:0)
你的循环错误。您应该计算$_FILES['files']['name']
,但不计算$_FILES['files']['tmp_name']
。请参阅以下代码:
for($i=0;$i<count($_FILES['files']['name']); $i++) {
....
}