Код вставки:
<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.";
}
?>
Имя входа должно быть определено как массив, т.е. name = «inputName []»
Элемент ввода должен иметь несколько = «несколько» или просто несколько
Файл PHP использует синтаксис «$ _FILES [‘inputElemName’] [‘param’] [index]»
Убедитесь, что вы ищете пустые имена файлов и пути, массив может
содержат пустые строки
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
}
?>
Я использую приведенный выше код для загрузки и вставки данных мультипал файлов, и он работает гладко. 🙂
Надеюсь, что это полезно …
Других решений пока нет …