varios una subir seleccionar para multiples mostrarla mostrar modificar imagenes imagen guardar formulario eliminar desde con archivos php image file-upload image-uploading multiple-file-upload

una - subir multiples imagenes php mysql



Formulario de carga múltiple de imágenes PHP con una entrada (5)

Buen enlace en:

La carga de un solo archivo PHP con una explicación básica variada .

Cargar archivo PHP con la Validación

Carga múltiple de archivos PHP con validación (Haga clic aquí para descargar el código fuente)

PHP / jQuery Carga de archivos múltiples con ProgressBar y validación (Haga clic aquí para descargar el código fuente)

Cómo cargar archivos en PHP y almacenar en la base de datos MySql (Haga clic aquí para descargar el código fuente)

extract($_POST); $error=array(); $extension=array("jpeg","jpg","png","gif"); foreach($_FILES["files"]["tmp_name"] as $key=>$tmp_name) { $file_name=$_FILES["files"]["name"][$key]; $file_tmp=$_FILES["files"]["tmp_name"][$key]; $ext=pathinfo($file_name,PATHINFO_EXTENSION); if(in_array($ext,$extension)) { if(!file_exists("photo_gallery/".$txtGalleryName."/".$file_name)) { move_uploaded_file($file_tmp=$_FILES["files"]["tmp_name"][$key],"photo_gallery/".$txtGalleryName."/".$file_name); } else { $filename=basename($file_name,$ext); $newFileName=$filename.time().".".$ext; move_uploaded_file($file_tmp=$_FILES["files"]["tmp_name"][$key],"photo_gallery/".$txtGalleryName."/".$newFileName); } } else { array_push($error,"$file_name, "); } }

y debes verificar tu código HTML

<form action="create_photo_gallery.php" method="post" enctype="multipart/form-data"> <table width="100%"> <tr> <td>Select Photo (one or multiple):</td> <td><input type="file" name="files[]" multiple/></td> </tr> <tr> <td colspan="2" align="center">Note: Supported image format: .jpeg, .jpg, .png, .gif</td> </tr> <tr> <td colspan="2" align="center"><input type="submit" value="Create Gallery" id="selectedButton"/></td> </tr> </table> </form>

Buen enlace en:

La carga de un solo archivo PHP con una explicación básica variada .

Cargar archivo PHP con la Validación

Carga múltiple de archivos PHP con validación (Haga clic aquí para descargar el código fuente)

PHP / jQuery Carga de archivos múltiples con ProgressBar y validación (Haga clic aquí para descargar el código fuente)

Cómo cargar archivos en PHP y almacenar en la base de datos MySql (Haga clic aquí para descargar el código fuente)

He intentado que esto funcione durante bastante tiempo. Pero parece que no puedo hacer que funcione. Quería tener un formulario de carga de imágenes múltiples con solo usar una entrada.

este es mi upload.php

<?php include("../include/session.php"); session_start(); $allowedExts = array("jpeg", "jpg", "png", "gif"); $extension = end(explode(".", $_FILES["upload"]["name"])); if(isset($_FILES[''upload''][''tmp_name''])) { for($i=0; $i < count($_FILES[''upload''][''tmp_name'']);$i++) { if (($_FILES["upload"]["name"] < 90000000000000000) && in_array($extension, $allowedExts)) { if ($_FILES["upload"]["error"] > 0) { header(''location: ''.$error); die; } else { if (file_exists("../icons/".$_SESSION["username"] ."/" . $_FILES["upload"]["name"])) { echo "error"; } else { if(!is_dir("../icons/". $_SESSION["username"] ."/")) { mkdir("../icons/". $_SESSION["username"] ."/"); } $temp = explode(".",$_FILES["upload"]["name"]); $file = rand(1,999999999999) . ''.'' .end($temp); move_uploaded_file($_FILES["upload"]["tmp_name"], "../icons/". $_SESSION["username"] ."/". $file); } } } } else { echo "yep error"; } } } ?>

si saco las líneas

if(isset($_FILES[''upload''][''tmp_name''])) { for($i=0; $i < count($_FILES[''upload''][''tmp_name'']);$i++) {

Con el corchete de cierre correspondiente, parece funcionar bien. La imagen se carga perfectamente. Pero el caso es que solo me permite subir uno.

Por favor, realmente necesito tu experiencia. Gracias


Carga de imágenes múltiples usando el código fuente completo de php y una vista previa disponible en el siguiente enlace.
Código de muestra:

if (isset($_POST[''submit''])) { $j = 0; //Variable for indexing uploaded image $target_path = "uploads/"; //Declaring Path for uploaded images for ($i = 0; $i < count($_FILES[''file''][''name'']); $i++) { //loop to get individual element from the array $validextensions = array("jpeg", "jpg", "png"); //Extensions which are allowed $ext = explode(''.'', basename($_FILES[''file''][''name''][$i])); //explode file name from dot(.) $file_extension = end($ext); //store extensions in the variable $target_path = $target_path.md5(uniqid()). ".".$ext[count($ext) - 1]; //set the target path with a new name of image $j = $j + 1; //increment the number of uploaded images according to the files in array if (($_FILES["file"]["size"][$i] < 100000) //Approx. 100kb files can be uploaded. && in_array($file_extension, $validextensions)) { if (move_uploaded_file($_FILES[''file''][''tmp_name''][$i], $target_path)) { //if file moved to uploads folder echo $j. '').<span id="noerror">Image uploaded successfully!.</span><br/><br/>''; } else { //if file was not moved. echo $j. '').<span id="error">please try again!.</span><br/><br/>''; } } else { //if file size and file type was incorrect. echo $j. '').<span id="error">***Invalid file Size or Type***</span><br/><br/>''; } } }

http://www.allinworld99.blogspot.com/2015/05/php-multiple-file-upload.html


Subida de imágenes múltiples con otras tablas $ sql1 = "INSERT INTO event (title) VALUES (''$ title'')";

$result1 = mysqli_query($connection,$sql1) or die(mysqli_error($connection)); $lastid= $connection->insert_id; foreach ($_FILES["file"]["error"] as $key => $error) { if ($error == UPLOAD_ERR_OK ){ $name = $lastid.$_FILES[''file''][''name''][$key]; $target_dir = "photo/"; $sql2 = "INSERT INTO photos(image,eventid) VALUES (''".$target_dir.$name."'',''".$lastid."'')"; $result2 = mysqli_query($connection,$sql2) or die(mysqli_error($connection)); move_uploaded_file($_FILES[''file''][''tmp_name''][$key],$target_dir.$name); } }

Y cómo buscar

$ query = "SELECT * FROM evento"; $ result = mysqli_query ($ connection, $ query) o die (mysqli_error ());

if($result->num_rows > 0) { while($r = mysqli_fetch_assoc($result)){ $eventid= $r[''id'']; $sqli="select id,image from photos where eventid=''".$eventid."''"; $resulti=mysqli_query($connection,$sqli); $image_json_array = array(); while($row = mysqli_fetch_assoc($resulti)){ $image_id = $row[''id'']; $image_name = $row[''image'']; $image_json_array[] = array("id"=>$image_id,"name"=>$image_name); } $msg1[] = array ("imagelist" => $image_json_array); }


Código PHP

<?php error_reporting(0); session_start(); include(''config.php''); //define session id $session_id=''1''; define ("MAX_SIZE","9000"); function getExtension($str) { $i = strrpos($str,"."); if (!$i) { return ""; } $l = strlen($str) - $i; $ext = substr($str,$i+1,$l); return $ext; } //set the image extentions $valid_formats = array("jpg", "png", "gif", "bmp","jpeg"); if(isset($_POST) and $_SERVER[''REQUEST_METHOD''] == "POST") { $uploaddir = "uploads/"; //image upload directory foreach ($_FILES[''photos''][''name''] as $name => $value) { $filename = stripslashes($_FILES[''photos''][''name''][$name]); $size=filesize($_FILES[''photos''][''tmp_name''][$name]); //get the extension of the file in a lower case format $ext = getExtension($filename); $ext = strtolower($ext); if(in_array($ext,$valid_formats)) { if ($size < (MAX_SIZE*1024)) { $image_name=time().$filename; echo "<img src=''".$uploaddir.$image_name."'' class=''imgList''>"; $newname=$uploaddir.$image_name; if (move_uploaded_file($_FILES[''photos''][''tmp_name''][$name], $newname)) { $time=time(); //insert in database mysql_query("INSERT INTO user_uploads(image_name,user_id_fk,created) VALUES(''$image_name'',''$session_id'',''$time'')"); } else { echo ''<span class="imgList">You have exceeded the size limit! so moving unsuccessful! </span>''; } } else { echo ''<span class="imgList">You have exceeded the size limit!</span>''; } } else { echo ''<span class="imgList">Unknown extension!</span>''; } } } ?>

Código Jquery

<script> $(document).ready(function() { $(''#photoimg'').die(''click'').live(''change'', function() { $("#imageform").ajaxForm({target: ''#preview'', beforeSubmit:function(){ console.log(''ttest''); $("#imageloadstatus").show(); $("#imageloadbutton").hide(); }, success:function(){ console.log(''test''); $("#imageloadstatus").hide(); $("#imageloadbutton").show(); }, error:function(){ console.log(''xtest''); $("#imageloadstatus").hide(); $("#imageloadbutton").show(); } }).submit(); }); }); </script>


<?php if(isset($_POST[''btnSave''])){ $j = 0; //Variable for indexing uploaded image $file_name_all=""; $target_path = "uploads/"; //Declaring Path for uploaded images //loop to get individual element from the array for ($i = 0; $i < count($_FILES[''file''][''name'']); $i++) { $validextensions = array("jpeg", "jpg", "png"); //Extensions which are allowed $ext = explode(''.'', basename($_FILES[''file''][''name''][$i]));//explode file name from dot(.) $file_extension = end($ext); //store extensions in the variable $basename=basename($_FILES[''file''][''name''][$i]); //echo"hi its base name".$basename; $target_path = $target_path .$basename;//set the target path with a new name of image $j = $j + 1;//increment the number of uploaded images according to the files in array if (($_FILES["file"]["size"][$i] < (1024*1024)) //Approx. 100kb files can be uploaded. && in_array($file_extension, $validextensions)) { if (move_uploaded_file($_FILES[''file''][''tmp_name''][$i], $target_path)) {//if file moved to uploads folder echo $j. '').<span id="noerror">Image uploaded successfully!.</span><br/><br/>''; /***********************************************/ $file_name_all.=$target_path."*"; $filepath = rtrim($file_name_all, ''*''); //echo"<img src=".$filepath." >"; /*************************************************/ } else {//if file was not moved. echo $j. '').<span id="error">please try again!.</span><br/><br/>''; } } else {//if file size and file type was incorrect. echo $j. '').<span id="error">***Invalid file Size or Type***</span><br/><br/>''; } } $qry="INSERT INTO `eb_re_about_us`(`er_abt_us_id`, `er_cli_id`, `er_cli_abt_info`, `er_cli_abt_img`) VALUES (NULL,''$b1'',''$b5'',''$filepath'')"; $res = mysql_query($qry,$conn); if($res) echo "<br/><br/>Client contact Person Information Details Saved successfully"; //header("location: nextaddclient.php"); //exit(); else echo "<br/><br/>Client contact Person Information Details not saved successfully"; } ?>

Aquí $ file_name_all Y $ filepath obtener 1 uplode nombre de archivo 2 veces?