mysql — загрузка нескольких файлов на сервер с php без загрузки на сервер всех файлов

Привет всем! У меня возникла проблема. Я получил форму, которая загружает файлы и вставляет их в 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.";  }  ?>

2

Решение

Файл move_uploaded_file возвращает true в случае успеха, остальные, если он не достигнут.
Попробуйте что-то вроде этого:

$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.";
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]