Ver Mensaje Individual
  #8 (permalink)  
Antiguo 04/05/2011, 07:04
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 10 meses
Puntos: 574
Respuesta: guardar imagen retocada en bd

Repasemos

Subida de múltiples archivos

Create an Upload-File Form

Cita:
By using the global PHP $_FILES array you can upload files from a client computer to the remote server.

The first parameter is the form's input name and the second index can be either "name", "type", "size", "tmp_name" or "error". Like this:

$_FILES["file"]["name"] - the name of the uploaded file
$_FILES["file"]["type"] - the type of the uploaded file
$_FILES["file"]["size"] - the size in bytes of the uploaded file
$_FILES["file"]["tmp_name"] - the name of the temporary copy of the file stored on the server
$_FILES["file"]["error"] - the error code resulting from the file upload

This is a very simple way of uploading files. For security reasons, you should add restrictions on what the user is allowed to upload.
$_FILES["nombre del input"]["uno de los posibles"]

Por todo ello no veo muy claro que te pueda funcionar la primera parte pero si dices que funciona no lo voy a poner en duda.

A partir de eso suponiendo que funciona

Yo cambiaria lo siguiente


if (imagejpeg($imagen_nueva,'archivos/imagenesthumbnail/copia.jpg'.$i)){

ERROR Estas guardando todos los thumbnail con el mismo nombre "copia.jpg" mas un numerador detras de la exetension (copia.jpg0,copia.jpg1...)

ERROR Estas copiando como copia.jpg0,copia.jpg1... y guardando en la bbdd como $_FILES['archivo']['name'][$i]



Si adoptas la estrategia de guardar los thumbnails en otra carpeta no les cambies el nombre

if (imagejpeg($imagen_nueva,'archivos/imagenesthumbnail/'.$_FILES["archivo"]["name"][$i])){

y luego ya te funcionara esto

$ssql="INSERT INTO tabladatos(nombre_imgthumb,tamañothumb,tipothumb)
values ('".$_FILES['archivo']['name'][$i]."','".$_FILES['archivo']['size'][$i]."',
'".$_FILES['archivo']['type'][$i]."')";

Si quieres cambiar el nombre puedes hacer esto

if (imagejpeg($imagen_nueva,'archivos/imagenesthumbnail/th'.$_FILES["archivo"]["name"][$i])){

y luego ya te funcionara esto

$ssql="INSERT INTO tabladatos(nombre_imgthumb,tamañothumb,tipothumb)
values ('th".$_FILES['archivo']['name'][$i]."','".$_FILES['archivo']['size'][$i]."',
'".$_FILES['archivo']['type'][$i]."')";

con lo que agregas el prefijo "th" al nombre original.


Tambien podrias cambiar esto

if (imagejpeg($imagen_nueva,'archivos/imagenesthumbnail/copia.jpg'.$i)){
//nada
}else{
echo 'No se realizo el thumbnail';
}

por esta sintaxis mas elegante

if (!imagejpeg($imagen_nueva,'archivos/imagenesthumbnail/copia.jpg'.$i)) echo 'No se realizo el thumbnail';
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 04/05/2011 a las 07:22