Foros del Web » Programando para Internet » PHP »

Error en upload de archivo

Estas en el tema de Error en upload de archivo en el foro de PHP en Foros del Web. Buenas!!! Aqui llego con un pequeño problema en el script de upload de pdf. Luego de intentar varias veces he creado este script que adjunto ...
  #1 (permalink)  
Antiguo 16/08/2008, 17:32
 
Fecha de Ingreso: febrero-2007
Mensajes: 41
Antigüedad: 17 años, 2 meses
Puntos: 0
Error en upload de archivo

Buenas!!! Aqui llego con un pequeño problema en el script de upload de pdf. Luego de intentar varias veces he creado este script que adjunto a continuación para subir archivos pdf de hasta 40mb

Código PHP:
ini_set('post_max_size','50M');
ini_set('upload_max_filesize','30M');
ini_set('max_execution_time','100000');
ini_set('max_input_time','10000');
// script de upload
$directorio '../../Revista/';
$tam $_FILES['pdf']['size'];
$archivo $_FILES['pdf']['name'];
$tipo=$_FILES['pdf']['type'];
$nueva_ruta=$directorio $archivo;
echo 
$archivo." en proceso de carga...<br>"//para ver si tomo la info del archivo
echo "Nueva dirección: ".$nueva_ruta."<br>";//ver la ruta donde lo dejara

if ($tipo=='application/pdf')//||($tipo=='image/gif')||($tipo=='image/png')
{
    if ((
$tam<=41943040)&&($tam>=1000))
    {
        if (
move_uploaded_file($_FILES['pdf']['tmp_name'], $nueva_ruta))
        {
           echo 
"El archivo fue subido con éxito.";
        echo 
"<br><a href='".$nueva_ruta."'>Descargar para comprobar. Click derecho guardar objetivo como.</a>";
        } 
        else
        {
        echo 
"Error al intentar subir el archivo.";
        }
    }    
    else
    {
        echo 
"Supera el limite de tamaño. El tamaño es '"$tam ."'.";
    }
}
else
{
    echo 
"El archivo no es PDF. Extensión del archivo '"$tipo ."'.";

La pagina de prueba es esta: manganimart.net/tools_admin/add_file_revista.php

Logro subir archivo de hasta 5.222.350 equivalente a 4,97MB
si el archivo sobrepasa esta medida simplemente se borra la información, y me termina de ejcutar el script peor sin subirlo. Osea, como que en determinado tiempo el script pierde los datos del archivo y me da el mensaje de que el archivo no es pdf.

Cita:
CLY_v01_c03_FBD.pdf en proceso de carga...
Nueva dirección: ../../Revista/CLY_v01_c03_FBD.pdf
El archivo no es PDF. Extensión del archivo ''.
Espero que puedan ayudarme, los archivos PDF que subire pesan mas de 20mb.
  #2 (permalink)  
Antiguo 16/08/2008, 20:17
 
Fecha de Ingreso: julio-2008
Mensajes: 28
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Error en upload de archivo

¿Seguro que tu servidor acepta subidas por PHP de 50MB? Mi server por lo menos, tiene como maximo 2MB, y esta entre la media de servidores... compruebalo por si acaso ;)
  #3 (permalink)  
Antiguo 16/08/2008, 20:54
 
Fecha de Ingreso: febrero-2007
Mensajes: 41
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Error en upload de archivo

Pues tal parece que no, pero según he leido existe forma de configurarlo internamente, una de ellas es el ini que ves al principio del script.
Cita:
Yo hice un archivo .htacces con los datos de la siguiente manera:

php_value memory_limit 1000M
php_value post_max_size 1000M
php_value upload_max_filesize 1000M
php_value max_execution_time 120
php_value max_input_time 120

OJO con poner "M" en vez de "Mb". Los segundos son solo en números como aparece en el ejemplo arriba expuesto.

Por si alguien no sabe como hacer el .htacces, simplemente abran un archivo nuevo, borren todas las etiquetas HTML, que quede en blanco, peguen:


php_value memory_limit 1000M
php_value post_max_size 1000M
php_value upload_max_filesize 1000M
php_value max_execution_time 120
php_value max_input_time 120

sin comas ni nada. Luego al guardar, pongan como nombre: .htacces y listo! Quizás para muchos parecerá una tontería pero algunos me preguntaron como crear ese archivo .

También, es importante saber que el .htacces actua en la carpeta donde se ponga, en caso de querer que funcione para toda la página, es recomendable ponerlo en la raíz.

Espero haber complementado esta información y poder contribuir a cesar los dolores de cabeza .

Saludos!
Tambien luego de leer lo que cite, hice un archivo .htaccess dentro de la carpeta donde esta el script, pero cuando la pagina va a ejecutar el script me aparece un error 500 Internal Several Error que se soluciona apenas le quito el archivo...

Asi que necesito ayuda para saber como hacerlo.
  #4 (permalink)  
Antiguo 18/08/2008, 20:48
 
Fecha de Ingreso: febrero-2007
Mensajes: 41
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Error en upload de archivo

Reescribo para dejar la solución:

Simplemente con colocar un archivo php.ini dentro de la carpeta donde estaba el script que subiria el archivo fue suficiente para resolver el problema.

El archivo php.ini tiene dentro de sí:

Cita:
upload_max_filesize = 100M
post_max_size = 100M
max_execution_time 1000
max_input_time 1000
Esos datos pueden ser modificados según las necesidades. Esto solo funciona si tu servidotr php fue instalado como CGI, pro eso lo de .htaccess no servia.

Me gustaría dejar una colaboración en FAQ para upload de archivos grandes, como puedo hacerlo? Eso nsería lo unico que me faltaria por hacer para cerrar el tema y dejar mi granito de arena.
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 14:21.