使用php上传和显示多个图像?

时间:2016-02-07 09:08:13

标签: php image file-upload image-uploading multiple-file-upload

插入代码:

 <input type="hidden" name="size" value="350000">
<input type="file" name="photo">

显示代码:

 echo "<img src='/images/" . $row['photo']. "' height='150px'><br>";

但这仅处理一张照片。做多个图像的方法吗?

这是php处理输入到表单中的数据:

 <?php

 //This is the directory where images will be saved
 $target = "images/";
 $target = $target . basename( $_FILES['photo']['name']);

 //This gets all the other information from the form
 $photo=($_FILES['photo']['name']);

 // Connects to your Database
 mysql_connect("localhost", "", "") or die(mysql_error()) ;
 mysql_select_db("dirtypol_election2016compariso") or die(mysql_error()) ;

 // Writes the information to the database
 mysql_query("INSERT INTO databasename (photo) VALUES ('$photo')") ;

 //Writes the photo to the server
 if(move_uploaded_file($_FILES['photo']['tmp_name'], $target)) {

 //Tells you if its all ok
 echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory";
 }
 else {
 //Gives and error if its not
 echo "Sorry, there was a problem uploading your file.";
 }
 ?>

1 个答案:

答案 0 :(得分:0)

  • 输入名称必须定义为数组,即name =&#34; inputName []&#34;

  • 输入元素必须有多个=&#34;多个&#34;或者只是多个在

  • PHP文件使用语法&#34; $ _ FILES [&#39; inputElemName&#39;] [&#39; param&#39;] [index]&#34;

  • 确保查找空文件名和路径,数组可能为 包含空字符串

HTML:

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

PHP:

<?php

include('config.php'); // my database connection is come form this file

// check files are set or not
if(isset($_FILES['files'])){

    $errors= array();
    $desired_dir="attachments/"; // replace with your directory name where you want to store images
    // getting files array
    foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){

        $file_name = $_FILES['files']['name'][$key];
        $file_size =$_FILES['files']['size'][$key];
        $file_tmp =$_FILES['files']['tmp_name'][$key];
        $file_type=$_FILES['files']['type'][$key];  
        // checking file size (because i use it)
        if($file_size > 8097152){
            $errors[]='File size must be less than 8 MB'; // change or remove it
        }       

        $filename=time().$file_name; // for creating unique file name
        if(empty($errors)==true){
            // moving files to destination
            $move=move_uploaded_file($file_tmp,$desired_dir.$filename);
            // you can direct write move_uploaded files method in bellow if condition
            if($move)
            {
                // inserting data into database
                mysql_query("INSERT into your_tablename(your_field) VALUES('$filename')"); // inserting data if file is moved
                echo "The file ".$filename." has been uploaded"; // only for debugging
            }
            else{
                echo $filename."is note uploaded"; // use this for debugging otherwise remove it
            }

        }
        else{
            echo $errors;
        }
            }
    }
    if(empty($error)){
        echo "All attachments are uploaded successfully"; // your success message/action
    }
?>

我使用上面的代码上传和插入多页文件的数据,并且它工作顺利。 :) 希望这有用...