• Jueves 2 de Mayo de 2024, 01:05

Autor Tema:  file upload  (Leído 2105 veces)

lair

  • Miembro MUY activo
  • ***
  • Mensajes: 213
  • Nacionalidad: mx
    • Ver Perfil
file upload
« en: Lunes 6 de Julio de 2009, 16:53 »
0
Hola a todos.

como puedo hacer un file upload con php, pero con este file upload necesito subir archivos mayores de 100mb, el problema es que con los que eh realizado normalmente solo puedo subir archivos de unos 2mb, como le puedo hacer para poder hacer eso??

gracias por su tiempo y ayuda

Gaug

  • Miembro activo
  • **
  • Mensajes: 26
    • Ver Perfil
Re: file upload
« Respuesta #1 en: Lunes 6 de Julio de 2009, 17:06 »
0
Pega el código que usas para subir archivos.

Saludos.

lair

  • Miembro MUY activo
  • ***
  • Mensajes: 213
  • Nacionalidad: mx
    • Ver Perfil
Re: file upload
« Respuesta #2 en: Lunes 6 de Julio de 2009, 18:00 »
0
Estoy utilizando el framework de CakePHP
esta es la vista:
Código: PHP
  1. <?php
  2.     /*
  3.     ya eh intentado algo como esto en ambos archivos
  4.     ini_set('post_max_size','100M');
  5.     ini_set('upload_max_filesize','100M');
  6.     */
  7.     echo $form->create("Archivo",array("action"=>"ftp","type"=>"file"));
  8.         echo $form->file("arch");
  9.         echo $form->submit("enviar");
  10.     echo $form->end();
  11. ?>
  12.  

controlador:
Código: PHP
  1. <?php
  2. class ArchivosController extends AppController{
  3.     var $name='Archivos';
  4.     function upload(){
  5.         if(!empty($this->data)){
  6.             $fuente=$this->data['Archivo']['arch']['tmp_name'];
  7.             $destino="../../app/webroot/files";
  8.            
  9.             if(move_uploaded_file($fuente,$destino)){
  10.                 echo("ok");
  11.             }else{
  12.                 echo("no");
  13.             }
  14.         }
  15.     }
  16. }
  17. ?>
  18.  

tambien eh intentado con un php.ini local
Código: Text
  1. ;;;;;;;;;;;;;;;;
  2. ;; File Uploads ;
  3. ;;;;;;;;;;;;;;;;;
  4. post_max_size = 20M
  5. ;; Maximum allowed size for uploaded files.
  6. upload_max_filesize = 20M
  7.  
este archivo no lo incluyo, me parese que lo toma solo, de no ser asi agradeseria mucho me orientaras

de antemano gracias
« última modificación: Lunes 6 de Julio de 2009, 19:05 por lair »

Gaug

  • Miembro activo
  • **
  • Mensajes: 26
    • Ver Perfil
Re: file upload
« Respuesta #3 en: Lunes 6 de Julio de 2009, 18:38 »
0
Si sólo quieres subir el archivo, yo uso éste código.

 echo '<form action="#" method="post" enctype="multipart/form-data">
          Elija el archivo que desea importar:<br>
          <input type="file" name="filename" size="20"><br>
          <input type="submit" name="submit" value="Cargar">
          </form>';

Saludos.

lair

  • Miembro MUY activo
  • ***
  • Mensajes: 213
  • Nacionalidad: mx
    • Ver Perfil
Re: file upload
« Respuesta #4 en: Lunes 6 de Julio de 2009, 18:59 »
0
Código: PHP
  1.     echo $form->create("Archivo",array("action"=>"ftp","type"=>"file"));
  2.         echo $form->file("arch");
  3.         echo $form->submit("enviar");
  4.     echo $form->end();
  5.  
de hecho este codigo lo que genera es esto:
Código: Text
  1. <form id="ArchivoFtpForm" enctype="multipart/form-data" method="post" action="/animacion/archivos/ftp">
  2.     <fieldset style="display:none;">
  3.         <input type="hidden" name="_method" value="POST" />
  4.     </fieldset>
  5.     <input type="file" name="data[Archivo][arch]" value="" id="ArchivoArch" />
  6.     <div class="submit">
  7.         <input type="submit" value="enviar" />
  8.     </div>
  9. </form>
  10.  
que como puedes ver es lo mismo, el problema que presenta el formulario es que por el php.ini no envia los datos si sobrepasan el limite indicado ahi
Código: Text
  1. post_max_size = 8M //por defecto
  2.  
y no los guarda en el servidor si no cumple con la otra directiva, en este caso.
Código: Text
  1. upload_max_filesize = 2M //por defecto
  2.  
.

lo mas importante es que el elservidor del hosting no tengo acceso al php.ini, por eso me interesa una manera de modificar esos valores en tiempo de ejecucion, como mensionaba ya intente con ini_set() y con un php.ini local, pero no se por que no me dan resultado

gracias por tus respuestas.

si alguien sabe por que no esta funcionando o conoce alguna otra forma de hacerlo le agradeseria mucho su colaboracion.

lair

  • Miembro MUY activo
  • ***
  • Mensajes: 213
  • Nacionalidad: mx
    • Ver Perfil
Re: file upload
« Respuesta #5 en: Lunes 6 de Julio de 2009, 23:35 »
0
solucionado  :good:

lo que hice para poder subir archivos de mayor tama;o lo que hice fue crear un archivo .htaccess con el siguiente contenido:
Código: Text
  1. php_value upload_max_filesize 100M
  2. php_value post_max_size 100M
  3.  

cabe mencionar que el el servidor php esta corriendo como modulo (mod_php) y no como CGI, para hacer algo paresido cuando esta como CGI es necesario crear un php.ini local

espero y si alguien tiene un problema similar lo pueda solucionar con este post suerte y gracias a todos.

 :beer: