php - 使用php将多个文件上传到服务器而不是将所有文件上传到服务器

标签 php mysql forms file-upload server

大家好,我遇到了一个问题,我有一个表格可以上传文件并插入到 mysql 中,mysql 插入部分正在工作,但他只将三个文件中的一个文件移动到服务器需要请一些帮助这是我的代码。 上传表格:

<form enctype="multipart/form-data" action="add-exposes.php" method="POST">  Expose Name: <input type="text" name="name"><br>  Expose Beschreibung: <textarea style="width: 810px; height: 200px" name="expose_desc" class="textarea"></textarea><br>  Expose Kategorie:<select name="expose_cat" size="3"> 
                        <?php 
                    mysql_connect("xxx.de.mysql", "xxxx", "xxx") or die(mysql_error()) ;  mysql_select_db("handwerker_verb") or die(mysql_error()) ;

                    $data = mysql_query("SELECT * FROM cats") or die(mysql_error());
                    while($info = mysql_fetch_array( $data )) {
                    echo '<option value="'.$info['id'].'">'.$info['cat'].'</option>';
                    } ?>


                         </select><!--<input type="text" name="expose_cat">--><br>Expose Preis:<input type="text" name="price"> <br> Bild: <input type="file" name="photo"><br> <input type="file" name="photo1"><br> <input type="file" name="photo2"><br>   <input type="submit" value="Add">  </form>

添加到服务器和mysql:

<?php   $target = "images/";  $target = $target . basename( $_FILES['photo']['name']);
$target1 = "images/";  $target1 = $target1 . basename( $_FILES['photo1']['name']);
$target2 = "images/";  $target2 = $target2 . basename( $_FILES['photo2']['name']);

        $name=$_POST['name'];  $expose_desc=$_POST['expose_desc'];  $expose_cat=$_POST['expose_cat'];  $pic=($_FILES['photo']['name']);  $price=$_POST['price']; $pic1=($_FILES['photo1']['name']); $pic2=($_FILES['photo2']['name']); 

        mysql_connect("xxxx.de.mysql", "xx", "xxx") or die(mysql_error()) ;  mysql_select_db("handwerker_verb") or die(mysql_error()) ;

          mysql_query("INSERT INTO `exposes` VALUES ('', '$name', '$pic', '$expose_desc', '$expose_cat', '$price', '$pic1', '$pic2' )") ; 

          if(move_uploaded_file($_FILES['photo']['tmp_name'], $target))  {   echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory";  } 
          elseif(move_uploaded_file($_FILES['photo1']['tmp_name'], $target1))  {   echo "The 2 file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory";  } 
          elseif(move_uploaded_file($_FILES['photo2']['tmp_name'], $target2))  {   echo "The 3 file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory";  }

           else {    echo "Sorry, there was a problem uploading your file.";  }  ?>                         

最佳答案

move_uploaded_file 成功返回 true,其余 elseif 永远不会到达。 尝试这样的事情:

$error = false;

if(move_uploaded_file($_FILES['photo']['tmp_name'], $target))  
{   
echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory";  
} else $error = true;

if(move_uploaded_file($_FILES['photo1']['tmp_name'], $target1))  
{   
echo "The 2 file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory";  
} else $error = true; 

if(move_uploaded_file($_FILES['photo2']['tmp_name'], $target2))  
{   
echo "The 3 file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory";  
} else $error = true;

if($error)
   echo "Sorry, there was a problem uploading your file.";

关于php - 使用php将多个文件上传到服务器而不是将所有文件上传到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26546940/

相关文章:

ios - 无法从外部viewDidLoad访问Eureka表单对象

php - Zend 框架 : Looking For a Basic "stub" for a project

php - Tinymce,php不将数据存储到mysql中

php - 我如何使用全文,例如 Like

mysql - 如何将 MySQL 变量放入Where子句中

jquery - HTML5 和以编程方式提交的表单的验证

html - 输入表单填充在 IE 中不起作用

php - 获取 PHP 删除变量

php - 将来自 2 个不同来源的数据插入到 MySQL 的一张表中

javascript - Facebook Graph API 的替代方案 "taggable_friends"