Используемая здесь форма и PHP-код были использованы для успешной загрузки имени файла в базу данных и самого файла в папку на сервере. Мне нужно отредактировать форму и код, чтобы обеспечить одновременную загрузку двух файлов вместо одного. Имена файлов будут отправляться в базу данных, а сами файлы будут отправляться в папку на сервере. В полях базы данных mysql каждый из имен файлов должен быть продолжен статическими строками; "images/" и "flash/". Один для изображений уже в script, мне просто нужно изменить script, чтобы принять вторую загрузку файла (загруженные файлы будут jpeg и flash, а не просто jpeg, как сейчас. форма второго поля файла может содержать имя Flash. Я отредактировал базу данных mysql, чтобы у нее было дополнительное поле с именем "flash".
Короче, мне нужно, чтобы это работало именно так, как сейчас, только загружая 2 файла вместо одного. Как это сделать?
<form enctype="multipart/form-data" action="add.php" method="POST">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name = "email"><br>
Phone: <input type="text" name = "phone"><br>
Photo: <input type="file" name="photo"><br>
STK: <input type="text" name = "STK"><br>
<input type="submit" value="Add">
</form>
</body>
</html>
<?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
$ID=$_POST['ID'];
$name=$_POST['name'];
$email=$_POST['email'];
$phone=$_POST['phone'];
$pic=($_FILES['photo']['name']);
$STK=$_POST['STK'];
// Connects to your Database
mysql_connect("localhost", "root", "") or die(mysql_error()) ;
mysql_select_db("employees") or die(mysql_error()) ;
//Writes the information to the database
mysql_query("INSERT INTO `employees` VALUES ('$ID','$name', '$email', '$phone', 'images/$pic','$STK')") ;
//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.";
}
?>
</body>
в первую очередь необходимо изменить форму:
Photo 1: <input type="file" name="photo[]"><br>
Photo 2: <input type="file" name="photo[]"><br>
второй:
вам понадобится другое поле в вашей базе данных для хранения второго имени файла фотографии
то просто используйте цикл foreach()
для запуска массива $_Files
Если вы хотите отделить фотографии от файлов Flash, вы должны изменить свою форму следующим образом:
Photo: <input type="file" name="photo"><br />
Flash file: <input type="file" name="flash"><br />
а затем добавьте:
$pic=($_FILES['photo']['name']);
$flash=($_FILES['flash']['name']);
И, наконец, добавьте в свой запрос INSERT соответственно. Как и sfmoe, если вы хотите разрешить несколько фотографий и нескольких флеш файлов, просто добавьте больше полей, превратите photo
и flash
в photo[]
и flash[]
(во входных тегах), и используйте цикл foreach.