Foros del Web » Programando para Internet » PHP »

Problema al subir archivo

Estas en el tema de Problema al subir archivo en el foro de PHP en Foros del Web. Tengo una aplicacion en php la cual ingresa archivos y los guarda en una carpeta. Resulta tengo un problema extraño, cuando subo archivos con más ...
  #1 (permalink)  
Antiguo 08/07/2004, 13:28
 
Fecha de Ingreso: diciembre-2003
Ubicación: Quillota
Mensajes: 196
Antigüedad: 20 años, 10 meses
Puntos: 0
Problema al subir archivo

Tengo una aplicacion en php la cual ingresa archivos y los guarda en una carpeta. Resulta tengo un problema extraño, cuando subo archivos con más de 500 kb me dice qyue la pagina no existe, miro el upload_max_filesize=10M, es obvio que deberioa resultar pero no resulta!!
debo cambiar algo más?
se debe reiniciar el servidor para que los cambios sean correcto??
  #2 (permalink)  
Antiguo 08/07/2004, 14:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Que servidor HTTP usas?

Por qué Apache por lo menos también tiene sus directivas para limitar el tamaño de datos que puede recibir (en tu caso será ese archivo .. pero al fin y al cabo para tu servidor son datos que deberá redirecciona a PHP en tu caso una vez que pasen por el ..)

Un saludo,
  #3 (permalink)  
Antiguo 08/07/2004, 14:43
 
Fecha de Ingreso: diciembre-2003
Ubicación: Quillota
Mensajes: 196
Antigüedad: 20 años, 10 meses
Puntos: 0
Cluster y tu no sabes como cambiar esas directivas en apache??
  #4 (permalink)  
Antiguo 08/07/2004, 14:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Pues .. parece que ese:

Cita:
kurmie at wanadoo dot nl (17-Oct-2002 01:59)

Uploading huge files still remains a problem, even after you've set upload_max_size and post_max_size to reasonable sizes (in my case respectively the defaults 2M and 8M).
MAX_FILE_SIZE is often ignored and php doesn't cut in to stop the transfer, so if you're using Apache (i'll bet you are) try limiting transfers with LimitRequestBody.
Be advised that you don't set this directive too low, or Apache will return a document without data.
O por lo menos eso dice este comentario de:
http://www.php.net/manual/en/features.file-upload.php

Un saludo,
  #5 (permalink)  
Antiguo 08/07/2004, 14:55
 
Fecha de Ingreso: diciembre-2003
Ubicación: Quillota
Mensajes: 196
Antigüedad: 20 años, 10 meses
Puntos: 0
Segui buscando y encontre otro post donde hablas del LimitRequestBody..... ups
Gracias. :D
  #6 (permalink)  
Antiguo 08/07/2004, 14:56
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Y siguiendo con las limitaciones:

Cita:
post_max_size integer
Sets max size of post data allowed. This setting also affects file upload. To upload large files, this value must be larger than upload_max_filesize.

If memory limit is enabled by your configure script, memory_limit also affects file uploading. Generally speaking, memory_limit should be larger than post_max_size.
(se refieren a configuración de PHP en su php.ini)

Un saludo,
  #7 (permalink)  
Antiguo 08/07/2004, 15:10
 
Fecha de Ingreso: diciembre-2003
Ubicación: Quillota
Mensajes: 196
Antigüedad: 20 años, 10 meses
Puntos: 0
Voy a seguir probando porque no me resulto con limitrequiestbody.. :(
  #8 (permalink)  
Antiguo 08/07/2004, 15:35
 
Fecha de Ingreso: diciembre-2003
Ubicación: Quillota
Mensajes: 196
Antigüedad: 20 años, 10 meses
Puntos: 0
Bueno al final enconrtre la solución, por si a alguien le interesa
Hay que modificar el archivo php.conf y agregar alli el limitrequestbody,
en esta parte
Es para php ver2

en

/etc/httpd/conf.d/php.conf
----------------------------------------
<Files *.php>
SetOutputFilter PHP
SetInputFilter PHP
LimitRequestBody 10485760
</Files>
Y agregue 10 mb, ojala a alguien le sirva
  #9 (permalink)  
Antiguo 03/12/2004, 06:53
 
Fecha de Ingreso: diciembre-2003
Ubicación: Quillota
Mensajes: 196
Antigüedad: 20 años, 10 meses
Puntos: 0
Usare este mismo topic para no crear otro

No existe la posibilidad de dar configuraciones para usuarios especificos? por ejemplo tengo varios sistemas en un servidor con apache y quiero que solo algunos puedan subir archivos sobre 10 mb y otros no, pero con configuraciones y no validar el peso con la aplicación en php.
Saludos
  #10 (permalink)  
Antiguo 03/12/2004, 07:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
En principio en Apache puedes definir Servidores Virtuales .. esos servidores virtuales sobre todo si usas PHP como CGI puedes usar su própio php.ini para cada servidor virtual que creas.

También puedes usar .htacces para definir algunas propiedades de PHP hasta donde deje este tipo:

php_flag nombre_directiva_php valor
o
php_value nombre_directiva_php valor

Revisa la documentación oficial de PHP:
http://www.php.net/manual/en/configuration.changes.php
Aquí tienes las directivas que puedes modificar y con que cosa: sólo desde php.ini, con la función ini_set() o con un .htacces por ejemplo ...
http://www.php.net/manual/en/function.ini-set.php

Un saludo,
  #11 (permalink)  
Antiguo 27/12/2004, 11:07
 
Fecha de Ingreso: noviembre-2004
Mensajes: 17
Antigüedad: 20 años
Puntos: 0
Me Esta Pasando Lo Mismo

Hola, me he alegrado mucho de que te pasó exactamente lo mismo que me está pasando a mí y lo solucionaste.

Ya he cambiado el LimitRequestBody a 10485760 en el php.conf, y ya no me sale el error de página no encontrada que me salía antes (sólo cuando el archivo era de más de unos pocos cientos de K's, si eran menor funciona perfectamente).

Lo que me sale ahora es un error conocido. Tengo este troo de código:

--------------------------------------------------
userfile_error = $HTTP_POST_FILES['userfile']['error'];

if ($userfile_error > 0)
{
echo 'Error: ';
switch ($userfile_error)
{
case 1: echo 'El documento tiene un tamaño superior al permitido'; break;
case 2: echo 'El documento tiene un tamaño superior al permitido'; break;
case 3: echo 'El documento sólo ha podido ser parcialmente subido'; break;
case 4: echo 'No se ha podido subir el documento'; break;
}
exit;
}
--------------------------------------------------

y me sale case 2. Tengo configurado el php.ini con

upload_max_filesize = 10M
memory_limit = 8M
post_max_size = 8M

y el archivo que pretendo subir es un .pdf de 1.37 MB (con otro que tengo más pequeño sí funciona).

Sabes qué puedo estar haciendo mal? Estoy un poco desesperado ya...


Muchas gracias!!
  #12 (permalink)  
Antiguo 27/12/2004, 11:31
 
Fecha de Ingreso: noviembre-2004
Mensajes: 17
Antigüedad: 20 años
Puntos: 0
Ya lo he solucionado, era un tontería, tenía un valor menor en una variable dentro del formulario que pide los datos para subir el archivo y llama al script php, que es el que comprueba que el archivo sea menor que ese valor.

Gracias.
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 02:48.