Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/02/2016, 15:43
Amiancht
 
Fecha de Ingreso: mayo-2013
Mensajes: 169
Antigüedad: 11 años
Puntos: 25
Orden en subida de archivos.

Hola a todos.

He creado un formulario donde un usuario puede subir multiples imagenes y ordenarlas a su antojo, (gracias a la funcionalidad de "sortable" de jqueryUI), el codigo seria algo así:
Código HTML:
Ver original
  1. <form action="" method="post" enctype="multipart/form-data">
  2. <div class="add_image"><input type="file" name="image[]"></div>
  3. </form>

Con javasript al pulsar en add_image, añadiria una imagen nueva con su previsualización, y puede añadir las que quiera, y luego ordenarlas arrastrandolas:
Código HTML:
Ver original
  1. <form action="" method="post" enctype="multipart/form-data">    
  2.    
  3.     <div class="wp_image"><!--imagen nueva que se va a subir -->
  4.         <img src="base64image">
  5.         <input type="file" name="image[]">
  6.     </div> 
  7.     <div class="wp_image"><!--imagen nueva que se va a subir -->
  8.         <img src="base64image">
  9.         <input type="file" name="image[]">
  10.     </div>
  11.     <div class="add_image"><input type="file" name="image[]"></div>
  12. </form>
BUeno hasta ahí no tengo problemas, en php me vienen ordenados en la variable "$_FILES", y los subo ordenados al servidor, e inserto en la base de datos en su orden su ruta correspondiente, y luego el usuario los podra ver en su orden.

La cuestión está en que puede haber ya imagenes subidas, y es formulario incialmente puede no estar vacio:
Código HTML:
Ver original
  1. <form action="" method="post" enctype="multipart/form-data">    
  2.     <div class="wp_image"><!--imagen de cargado de la base de datos -->
  3.         <img src="urlimage.com/example.png">
  4.         <input type="text" value="www.url.com/uploads/ejemplo.png" name="image[]">
  5.     </div>
  6.     <div class="wp_image"><!--imagen nueva que se va a subir -->
  7.         <img src="base64image">
  8.         <input type="file" name="image[]">
  9.     </div>
  10.     <div class="wp_image"><!--imagen de cargado de la base de datos -->
  11.         <img src="urlimage.com/example.png">
  12.         <input type="text" value="www.url.com/uploads/ejemplo.png" name="image[]">
  13.     </div>
  14.     <div class="wp_image"><!--imagen nueva que se va a subir -->
  15.         <img src="base64image">
  16.         <input type="file" name="image[]">
  17.     </div>
  18.     <div class="add_image"><input type="file" name="image[]"></div>
  19. </form>
Y como el usuario puede ordenarlos como quiera, cuando quiero obtener las que ya estan subidas, que solo puedo mostrarlo en el fomulario con un input tipo "text", aparecen estas variables en $_POST y las nuevas imagenes en $_FILES, y claro al llegarme por separado no sé en que orden llegan .

No sé me ocurre un algoritmo para conseguir el orden en la mezcla que puede hacer el usuario entre las que ya estan subidas y las que se van a subir ahora.

Espero que se me entienda, ¿alguno me puede dar algo de luz?