PHP上传多个图像

PHP上传多个图像,php,directory,image-uploading,directory-structure,Php,Directory,Image Uploading,Directory Structure,这段代码过去很有效,现在我不明白为什么它不会上传,我没有收到错误,我也没有收到任何echo或var_转储,就像按钮只刷新页面一样。(为了澄清,还有很多代码在做很多事情,但这就是我问题的原因,因为我用下面的代码将它隔离到另一个项目中,这给了我相同的结果) 它要做的就是创建一个名为“ItemName”的文件夹,然后将图像移动到新的命名文件夹中 提前谢谢你,这个问题已经困扰我好几天了 HTML页面 <form id="newsell" enctype="multipart/form-data"

这段代码过去很有效,现在我不明白为什么它不会上传,我没有收到错误,我也没有收到任何echo或var_转储,就像按钮只刷新页面一样。(为了澄清,还有很多代码在做很多事情,但这就是我问题的原因,因为我用下面的代码将它隔离到另一个项目中,这给了我相同的结果)

它要做的就是创建一个名为“ItemName”的文件夹,然后将图像移动到新的命名文件夹中

提前谢谢你,这个问题已经困扰我好几天了

HTML页面

<form id="newsell" enctype="multipart/form-data" method="post">

<input type="text" class="css-input" name="ItemName"  value="">

<input name="file[]" type="file" id="file" multiple />

<input type="submit" name="Upload" class="css-input1" value="Upload">

<?php
 if ($_POST['Upload']) {
 require_once("random.php"); 

}
?>

random.php

$MyLocation = "MyName";  // this comes from db, for this case just hardcode
$ItemName1 = htmlspecialchars($_POST["ItemName");
$ItemName = strip_tags($ItemName1);
$parentDir = "C:/wamp/www/HOME/uploadimages/".$MyLocation;   
echo "Does it exist...." . $parentDir . "/" . $ItemName;
if(!is_dir($parentDir)) { // Check if the parent directory is a directory
echo "Apologies, something has gone wrong.";
RandError();   // POPUP
die();
}

    if(!is_writable($parentDir)) { // Check if the parent directory is writeable
 echo "Apologies, something has gone wrong.";
        RandError();   // POPUP
        die();
    }
    if(mkdir($parentDir . "/" . $ItemName) === false) { // Create the directory
       echo "File apparently exists...." . $parentDir . "/" . $ItemName;
        ExistingSaleName();  // POPUP
        die();
    }
//  die('Created directory successfully'); // Success point
echo "AFTER INSERTION";
    movefiles();
}



function movefiles() {
$MyLocation = "MyName";
echo "In movefiles";
$ItemName1 = htmlspecialchars($_POST["ItemName"]);
$ItemName = strip_tags($ItemName1);
extract($_POST);
if (extract($_POST) === null) { // trying to fault find here, but never returns anyway due to some kind of bug as at one point it was returning a null value
echo "PROBLEM...";
}
$error=array();
$extension=array("jpeg","jpg","png");
$res = ("C:/wamp/www/HOME/uploadimages/". $MyLocation. "/" .  $ItemName);
foreach($_FILES["file"]["tmp_name"] as $key=>$tmp_name) {
    $file_name=$_FILES["file"]["name"][$key];
    $file_tmp=$_FILES["file"]["tmp_name"][$key];
    if (!(($_FILES["file"]["type"][$key] == "image/png") || ($_FILES["file"]    ["type"][$key] == "image/jpeg") || ($_FILES["file"]["type"][$key] ==     "image/jpg"))) {
        die("Only the .jpg / .jpeg / .png file's were uploaded.");
    } else {
        echo "SHIT";
    }
var_dump($file_tmp);
   $ext=pathinfo($file_name,PATHINFO_EXTENSION);
    $count;
    //check if file exist       
        if (!file_exists($res . "/" . $file_name)) {
            sleep(2);           
            if (isset($_FILES["file"]["tmp_name"][$key])) {
                move_uploaded_file($_FILES["file"]["tmp_name"][$key], $res);
                ++$count;
                if ($count >=5) {
                    // go_to(); // This goes onto the next function
                    die ("First 5 images are uploaded, <br/> 5 images     maximum.");
                }
            } else {
                echo "It exited HERE...";
            }
        } else {
            ExistingSaleName();
             die();
        }
}   
}
$MyLocation=“MyName”//这来自db,对于这种情况,只需硬代码
$ItemName1=htmlspecialchars($_POST[“ItemName”);
$ItemName=strip_标签($ItemName1);
$parentDir=“C:/wamp/www/HOME/uploadimages/”$MyLocation;
echo“是否存在…”“$parentDir.”/“$ItemName;
如果(!is_dir($parentDir)){//检查父目录是否为目录
echo“抱歉,出了点问题。”;
RandError();//弹出窗口
模具();
}
如果(!is_writeable($parentDir)){//检查父目录是否可写
echo“抱歉,出了点问题。”;
RandError();//弹出窗口
模具();
}
如果(mkdir($parentDir./“$ItemName)==false){//创建目录
echo“文件显然存在…”“$parentDir.”/“$ItemName;
ExistingSaleName();//弹出窗口
模具();
}
//die('Created directory successfully');//成功点
“插入后”回显;
移动文件();
}
函数movefiles(){
$MyLocation=“MyName”;
回显“在移动文件中”;
$ItemName1=htmlspecialchars($_POST[“ItemName”]);
$ItemName=strip_标签($ItemName1);
摘录(元);;
如果(extract($\u POST)==null){//尝试在此处进行故障查找,但由于某种错误,始终不会返回,因为在某一点上它返回了null值
回声“问题…”;
}
$error=array();
$extension=数组(“jpeg”、“jpg”、“png”);
$res=(“C:/wamp/www/HOME/uploadimages/”$MyLocation./”$ItemName);
foreach($\u FILES[“file”][“tmp\u name”]作为$key=>$tmp\u name){
$file\u name=$\u FILES[“file”][“name”][$key];
$file\u tmp=$\u FILES[“file”][“tmp\u name”][$key];
如果(!($_文件[“文件”][“类型”][$key]=“图像/png”)|($_文件[“文件”][“类型”][$key]=“图像/jpeg”)|($_文件[“文件”][“类型”[$key]=“图像/jpg”)){
die(“只上传了.jpg/.jpeg/.png文件。”);
}否则{
呼应“大便”;
}
变量转储($file\u tmp);
$ext=pathinfo($file\u name,pathinfo\u EXTENSION);
$count;
//检查文件是否存在
如果(!file_存在($res./“$file_name)){
睡眠(2);
如果(isset($\u文件[“文件”][“tmp\u名称”][$key])){
移动上传的文件($文件[“文件”][“tmp文件名”][$key],$res);
++$count;
如果($count>=5){
//go_to();//这将转到下一个函数
die(“上传前5张图片,最多
5张图片”); } }否则{ 回声“它离开这里…”; } }否则{ ExistingSaleName(); 模具(); } } }
我创建了一个简单的代码来上传多个图像。将其更改为您的

<?php
if(isset($_FILES['files'])){
$errors= array();
foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){
    $file_name = $key.$_FILES['files']['name'][$key];
    $file_size =$_FILES['files']['size'][$key];
    $file_tmp =$_FILES['files']['tmp_name'][$key];
    $file_type=$_FILES['files']['type'][$key];  
    if($file_size > 2097152){
        $errors[]='File size must be less than 2 MB';
    }       
    $query="INSERT into upload_data (`USER_ID`,`FILE_NAME`,`FILE_SIZE`,`FILE_TYPE`) VALUES('$user_id','$file_name','$file_size','$file_type'); ";
    $desired_dir="user_data";
    if(empty($errors)==true){
        if(is_dir($desired_dir)==false){
            mkdir("$desired_dir", 0700);        // Create directory if it does not exist
        }
        if(is_dir("$desired_dir/".$file_name)==false){
            move_uploaded_file($file_tmp,"$desired_dir/".$file_name);
        }else{                                  // rename the file if another one exist
            $new_dir="$desired_dir/".$file_name.time();
             rename($file_tmp,$new_dir) ;               
        }
     mysql_query($query);           
    }else{
            print_r($errors);
    }
}
if(empty($error)){
    echo "Success";
}

<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="files[]" multiple/>
<input type="submit"/>