Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中的多文件上载-重命名文件_Php_File_File Upload_Rename - Fatal编程技术网

PHP中的多文件上载-重命名文件

PHP中的多文件上载-重命名文件,php,file,file-upload,rename,Php,File,File Upload,Rename,我是php的初学者,现在正在用php做一个项目。我想上传图片(最多只有四个图片文件)。我使用以下代码上传图片 <script type="text/javascript"> count=1; function add_file_field() { if(count<4) { var container=document.getElementById('file_container'); var file_field=document.createElement('input')

我是php的初学者,现在正在用php做一个项目。我想上传图片(最多只有四个图片文件)。我使用以下代码上传图片

<script type="text/javascript">
count=1;
function add_file_field()
{
if(count<4)
{
var container=document.getElementById('file_container');
var file_field=document.createElement('input');
file_field.name='images[]';
file_field.type='file';
container.appendChild(file_field);
var br_field=document.createElement('br');
container.appendChild(br_field);
count++;
}
}

</script>



        <div id="file_container">
    <input name="images[]" type="file" id="file[]" />
<br />
    </div> 

        <br><a href="javascript:void(0);" onClick="add_file_field();">Add</a> 

计数=1;
函数添加文件字段()
{

如果(count您应该允许在文件输入中选择多个文件,这样您就不必反复添加新输入:

提交表单后,您可以迭代
$\u文件
数组,如下所示:

foreach($_FILES['images'] as $file) {
    //your code here --> replace $_FILES['file'] with $file
}

我希望这能有所帮助。

我有一个例子是有效的,我想这会对你有所帮助

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

上传文件:
“alt=”图像路径无效“>

使用for loop.foreach上传的图像显示错误

以下是PHP中多文件上传的示例


我改变了代码,因为你必须使用<代码>图像<代码>作为一个键。如果它没有帮助描述你的问题。在回答之前,先理解问题,然后回答FAQ,只有共享链接不是一个好的答案,你描述那里发生的事情,把它当作答案。这个例子是很自我解释的。。它使用PHP和HTML上载多个文件,基本UI显示提交表单后要上载的所有文件及其上载状态。可能需要进行细微更改才能满足任何自定义要求。默认情况下,此示例最适合于弹出式上载表单。
<form action="" method="POST" enctype="multipart/form-data">
    <input type="file" name="files[]" />
    <input type="submit"/>
</form>
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";
    }
}
<?php


if(isset($_POST['submit']))
{

    $count=count($_FILES["images"]["name"]);


for($i=0;$i<$count;$i++)
{   
  if ((($_FILES["images"]["type"][$i] == "image/gif")
 || ($_FILES["images"]["type"][$i]  == "image/jpeg")
|| ($_FILES["images"]["type"][$i]  == "image/pjpeg"))
&& ($_FILES["images"]["size"][$i] < 100000))
{

 if ($_FILES["images"]["error"][$i]  > 0)
 {
 echo "File Error : " . $_FILES["images"]["error"][$i]  . "<br />";
  }
  else 
 {
  echo "Upload File Name: " . $_FILES["images"]["name"][$i]  . "<br />";
 echo "File Type: " . $_FILES["images"]["type"][$i]  . "<br />";
  echo "File Size: " . ($_FILES["images"]["size"][$i]  / 1024) . " Kb<br />"; 

   if (file_exists("public/images/".$_FILES["images"]["name"][$i] ))
  {
   echo "<b>".$_FILES["images"]["name"][$i]  . " already exists. </b>";
   }
   else
  {
    move_uploaded_file($_FILES["images"]["tmp_name"][$i] ,"public/images/".             $_FILES["images"]["name"][$i] );
    echo "Stored in: " . "public/images/" . $_FILES["images"]["name"][$i] ."<br />";
   ?>
   Uploaded File:<br>
   <img src="public/images/<?php echo $_FILES["images"]["name"][$i] ; ?>" alt="Image path    Invalid" >
  <?php
  }
  }
  }else
 {
  echo "Invalid file detail ::<br> file type ::".$_FILES["images"]["type"][$i] ." ,    file    size::: ".$_FILES["images"]["size"][$i] ;
  } 
}
   }?>