Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/04/2009, 05:55
mitobo
 
Fecha de Ingreso: mayo-2008
Mensajes: 198
Antigüedad: 16 años, 10 meses
Puntos: 3
Que me recomiendan.

Hola a todos.
Estoy creando una función para upload de imágenes (redimensionar, crear thumb y guardar en la carpeta especificada con el nombre especificado).
Pues bien, en dicho script, para guardar la imágen resultante en su carpeta de destino utilizo la función imagejpeg. Por ejemplo:
Código PHP:
$img=imagepng($marco,  "../fotos/archivo1.png"); 
La cuestión es que he visto por internet varios códigos que para copiar el archivo en una carpeta utilizan un código parecido al siguiente:
Código PHP:
$fp=fopen($destino,"w");
fwrite($fp,fread(fopen($destino_temporal,"r"),filesize($destino_temporal)));
fclose($fp);
unlink($destino_temporal); 
Mi duda es que no se exactamente porqué utilizan este sitema, ya que es bastante más 'laborioso' que el que yo utilizo. Que diferencia hay entre usar un código y otro?
Alguna cuestión de seguridad quizás?

Mi 2ª pregunta es la siguiente.
Me gustaría que durante el proceso de este script, si se encontrara con algun problema por 'culpa' de la configuración del php o de la conexión con el servidor se interrumpiera este proceso y no guardara la imagen y la borrara de la BD.
Ya utilizo lo de 'or die (mysql_error());'. Pero a veces los errores vienen dados por problemas tipo:
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 2688 bytes) in /var/www/vhost/n****/*******/*****/admin/tratar_imagen.php on line 38

en la línea 38 tengo el siguiente código:
Código PHP:
                $marco=imagecreatetruecolor($anchonuevo$altonuevo); 
Gracías por leer este post. Saludos a todos!