Ver Mensaje Individual
  #126 (permalink)  
Antiguo 09/07/2004, 19:52
Pinazinho
 
Fecha de Ingreso: julio-2004
Mensajes: 1
Antigüedad: 20 años, 4 meses
Puntos: 0
Exclamación Problema al subir archivos grandes

Hola Cluster, eres un crack.
Te informo de la situación y después te comento el problema:

- Tengo el script alojado en sync.es (de pago)
- [Linux + Apache 1.3.31 + PHP 4.3.2 + MySQL 3.23.49 + GD 2.0.12].
- max_execution_time=30
- open_basedir=no value
- post_max_size=55M
- upload_max_filesize=2M
- Apache Timeouts= Connection: 300 - Keep-Alive: 15
- He modificado el tipo de datos de la BD a MEDIUMBLOB.
- Necesito subir archivos de 1 Mb.

Tengo el siguiente problema con el script:
Cuando subo archivos relativamente grandes (de aproximadamente más de 300 Kb) el script no sube el archivo, devolviendo el siguente error:

Código:
Warning: fopen(/tmp/phpGWPHT6): failed to open stream: No such file or directory in /home/mipropio/public_html/admin/insertar.php on line 20

Warning: filesize(): Stat failed for /tmp/phpGWPHT6 (errno=2 - No such file or directory) in /home/mipropio/public_html/admin/insertar.php on line 20

Warning: fread(): supplied argument is not a valid stream resource in /home/mipropio/public_html/admin/insertar.php on line 20
La línea 20 es ésta:
Código PHP:
$binario_contenido addslashes(fread(fopen($binario_nombre_temporal"rb"), filesize($binario_nombre_temporal))); 
Parece que el servidor borra el archivo temporal antes de que finalice el script, porque con archivos pequeños funciona perfectamente. En un principio creía que era por el tiempo de ejecución del script, por eso añadí la línea set_time_limit(0); pero me seguía dando el mismo problema.

Si te sirve de ayuda, posteriormente, probé a cambiar de método. Intenté, en vez de insertar el binario en la base de datos, subir el archivo al servidor. Lo intenté con la función ftp_put(), pero seguía funcionando bien con archivos pequeños y mal con archivos grandes. Seguía dando el mismo error. Y al final, lo intenté con la funcion copy(), y seguía dando el mismo error con archivos grandes.
El problema es que cuando subo archivos relativamente grandes (de aproximadamente más de 300 o 400 Kb), me devuelve el error que te he comentado. Así que creo que el problema está en el servidor, puesto que los 3 scripts fallan en lo mismo.
También creía que era problema de las variables de PHP o las directivas de Apache, pero, tal y como te las he copiado arriba, parecen estar bien.

Te agradecería muchísimo que me echaras una mano para solucionarlo pues es un trabajo que tengo que entregar.
Muchísimas gracias!

Última edición por Pinazinho; 09/07/2004 a las 19:58