2013-05-12 26 views
0

我已经设法得到一张照片上传到服务器,然后写入数据库感谢相当多的帮助,但我需要能够上传三个文件和每个需要相应地写入数据库。因此,目前只有photo1正在上传和写入,我想为photo2和3创建另一个表单输入,并将它们写入并上传。对不起,我几乎是一个完整的初学者与PHP,任何帮助将非常感激!提前致谢。多个图像上传和写入数据库

<?php 


    session_start(); 

    include_once('../php/connection.php'); 

    if (isset($_SESSION['logged_in'])) { 

     if (isset($_POST['title'], $_POST['content'], $_FILES['photo1'])) { 

      $title = $_POST['title']; 
      $content = nl2br($_POST['content']); 
      $name  = $_FILES['photo1']['name']; 
      $tmp_name = $_FILES['photo1,']['tmp_name']; 

      $target = '../lifestyle/'.$name; 

      if (move_uploaded_file($tmp_name, $target)) { 

       $stmt = $pdo->prepare('INSERT INTO article (article_title, article_content, photo_1, photo_2) VALUES (?,?,?,?)'); 
       $stmt->execute(array($title,$content,$name,)); 
       header('Location: index.php'); 
       exit(); 

      } 

     } 

     ?> 



<form action="add.php" method="post" autocomplete="off" enctype="multipart/form-data"/> 
    <<input type="text" name="title" id="title"/> 
    <textarea name="content"></textarea></dt> 
    <input type="file" name="photo1" > 
    <input type="submit" id="add article"/> 
    </form> 

回答

0

使用属性:multiple做出某种名称的数组:

<input type="file" name="photo[]" multiple > 

OR

<input type="file" name="photo[]"> 
<input type="file" name="photo[]"> 
<input type="file" name="photo[]"> 

http://php.net/manual/en/features.file-upload.multiple.php

+0

那岂不是更清楚,如果照片1 []只是照片[]? (因为每张照片都不是photo1)你的问题虽然不错:-) – bestprogrammerintheworld 2013-05-12 18:39:40

+0

@bestprogrammerintheworld感谢指定我的错误 – 2013-05-12 18:41:12

+0

'multiple'属性只能在HTML5浏览器中使用。例如IE 10所以它不会工作在较低版本 – 2013-05-12 18:42:09