Foros del Web » Programando para Internet » PHP »

Que me recomiendan.

Estas en el tema de Que me recomiendan. en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 11/04/2009, 05:55
 
Fecha de Ingreso: mayo-2008
Mensajes: 198
Antigüedad: 16 años
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!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:16.