Los usuarios pueden subir imagenes y también tienen que poder actualizarlas (eliminar y subir nuevas). Lo primero es lo que tengo terminado, pero lo segundo tengo dudas ya que no quiero guardar las imagenes con su nombre original y en su lugar uso el número del array:
Código
$tmp_name = $_FILES['file']['tmp_name']; $img_name = '/' . ($i + 1) . '.jpg'; }
Por lo tanto si uso este código la segunda vez que suba imágenes, las que ya existen serán reemplazadas. No me importa si el orden se pierde (pero si es posible prefiero algo limpio):
1.jpg, 2.jpg, 3.jpg --->
¿Conoceis alguna manera más limpia de hacer esto? No me importa el nombre que tengan, no es de ningún uso.
Podría usar la hora de subida, algo así, pero me gustaría saber vuestras opiniones y como lo haríais vosotros.
Esta es la función completa, ¿podria mejorarse para que fuera más eficiente?
Código
public function UploadImages($files, $test = '') { $imagesPath = '../static.website.com/images/property/' . $this->id; $thumbnailsPath = '../static.website.com/images/property/' . $this->id . '/thumbnails'; $log = 'Logging Images Upload:' . "\n\n"; $upload_err = FALSE; if ($test == 'new') { // Will be any problem with $thumbnailsPath? } } // Is it ok to only check for the child directory? $tmp_name = $files['file']['tmp_name']; $img_size = $files['file']['size']; // At least 1 image if ($test == 'new' && $tmp_name[0] == '') { $upload_err = TRUE; } if ($tmp_name[$i] != '') { if ($img_size[$i] <= 7340032) { $img_name = '/' . ($i + 1) . '.jpg'; $thumbnail_name = '/thumbnail_' . ($i + 1) . '.jpg'; if ($width >= 1100 && $height >= 650) { $upload_err = TRUE; } else $log .= 'IMG: ' . $img_name . ' (original name: ' . $files['file']['name'][$i] . ') uploaded successfully.' . "\n"; } else { $upload_err = TRUE; return array($upload_err, 'La imagen: ' . $files['file']['name'][$i] . ' debe tener como mínimo 1100px de ancho y 650px de alto.'); } } else { $upload_err = TRUE; } } } } else return array($upload_err, '$thumbnailsPath is false and/or not a dir: ' . $thumbnailsPath . '". Property ID: ' . $this->id); return $log; }
Cualquier surgerencia es bienvenida. Gracias!