Foros del Web » Programando para Internet » PHP »

subir archivo mayor a 2MB

Estas en el tema de subir archivo mayor a 2MB en el foro de PHP en Foros del Web. hola, queria preguntar como le puedo hacer para subir un archivo mayor a 2MB es que en la configuracion del php.ini en el servidor, dice ...
  #1 (permalink)  
Antiguo 13/12/2007, 08:26
 
Fecha de Ingreso: diciembre-2006
Mensajes: 381
Antigüedad: 17 años, 3 meses
Puntos: 2
subir archivo mayor a 2MB

hola, queria preguntar como le puedo hacer para subir un archivo mayor a 2MB es que en la configuracion del php.ini en el servidor, dice upload_max_filesize=2M, yo no puedo cambiar el php.ini ya que es un servidor alquilado, pero cuando subo archivos por medio del FTP(con un programa que se llama FileZila) si puedo hacerlo, pero el problema es que el usuario de la web tiene que subir los archivos por medio de la web.
  #2 (permalink)  
Antiguo 13/12/2007, 08:40
Avatar de the_scorpion  
Fecha de Ingreso: mayo-2006
Ubicación: Cuba
Mensajes: 696
Antigüedad: 17 años, 11 meses
Puntos: 3
Re: subir archivo mayor a 2MB

no se si existira otra variante pero indiscutiblemente php.ini es el conf de php
__________________
Que hablen mal de uno es espantoso. Pero hay algo peor: que no hablen.
Quien hace, puede equivocarse. Quien nada hace, ya está equivocado".
  #3 (permalink)  
Antiguo 13/12/2007, 10:03
 
Fecha de Ingreso: diciembre-2006
Mensajes: 381
Antigüedad: 17 años, 3 meses
Puntos: 2
Re: subir archivo mayor a 2MB

Cita:
no se si existira otra variante pero indiscutiblemente php.ini es el conf de php
no entendi bien, a que te refieres?

Tambien he estado viendo varios script que permiten subir por FTP, como este:

Código PHP:
<?php   
if ($_POST['submit']){

    
$myFile $_FILES['file']; // This will make an array out of the file information that was stored.
    
    
$file $myFile['tmp_name'];  //Converts the array into a new string containing the path name on the server where your file is.
    
    
$myFileName $_POST['MyFile']; //Retrieve file path and file name   
    
$myfile_replace str_replace('\\''/'$myFileName);    //convert path for use with unix
    
$myfile basename($myfile_replace);    //extract file name from path
    
$destination_file "/".$myfile;  //where you want to throw the file on the webserver (relative to your login dir)
    // connection settings
    
$ftp_server "ftp.example.com";  //address of ftp server (leave out ftp://)
    
$ftp_user_name "user"// Username
    
$ftp_user_pass "password";   // Password
    
$conn_id ftp_connect($ftp_server);        // set up basic connection

    // login with username and password, or give invalid user message
    
$login_result ftp_login($conn_id$ftp_user_name$ftp_user_pass) or die("<h1>You do not have access to this ftp server!</h1>");
    
$upload ftp_put($conn_id$destination_file$fileFTP_BINARY);  // upload the file

    
if (!$upload) {  // check upload status
        
echo "<h2>FTP upload of $myFileName has failed!</h2> <br />";
    }else{
    echo 
"OK<br />";
    echo 
$destination_file;
    }
/*
    // try to delete $file
    if (ftp_delete($conn_id, $destination_file)) {
        echo "$destination_file has been deleted!\n";
    } else {
        echo "Could not delete $destination_file!\n";
    }
*/
ftp_close($conn_id); // close the FTP stream
}
?>
<form name="form" enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" >
Please choose a file: <input type="file" name="file" accept="text/plain" onChange="MyFile.value=file.value">
<input name="MyFile" type="hidden" id="MyFile" tabindex="99" size="1" />
<input type="submit" name="submit" value="upload" style="vertical-align:middle"/><br/><br/>
</form>
pero tampoco funciona para archivos mayores a 2M, el problema de este script y los demas que he encontrado es la manera para subir:
ARCHIVO LOCAL(C:/test.pdf) -> ARCHIVO TEMPORAL EN EL SERVIDOR ->(carpeta temporal) - >ARCHIVO PASADO AL FTP (./home/public_html/carpeta/test.pdf)
Esto funciona solo para archivos menores a 2M.

quisiera saber si hay una forma de hacerlo directamente:
ARCHIVO LOCAL(C:/test.pdf)- >ARCHIVO PASADO AL FTP (./home/public_html/carpeta/test.pdf). pero sin usar programas como Filezila, solo con script PHP
  #4 (permalink)  
Antiguo 13/12/2007, 10:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: subir archivo mayor a 2MB

No es posible hacerlo ya que PHP se rige por las reglas del php.ini y no hay forma de "brincarlo".

Te recomendaría si necesitas subir archivos mas grandes a 2 MB que contactes a tu servidor o cambies de servicio.

Saludos.
  #5 (permalink)  
Antiguo 13/12/2007, 10:16
Avatar de the_scorpion  
Fecha de Ingreso: mayo-2006
Ubicación: Cuba
Mensajes: 696
Antigüedad: 17 años, 11 meses
Puntos: 3
Re: subir archivo mayor a 2MB

no solamente
upload_max_filesize=2M //tamaño maximo para cargar archivo

otra que tambien juega un roll importante es
post_max_sixe = 2MB // tamaño maximo para enviar archivos

si su valor mayor es 2MB claro solamente envia archivo no mayores a los 2MB

Cita:
quisiera saber si hay una forma de hacerlo directamente:
ARCHIVO LOCAL(C:/test.pdf)- >ARCHIVO PASADO AL FTP (./home/public_html/carpeta/test.pdf). pero sin usar programas como Filezila, solo con script PHP
creo que no existe otra fora y si existiera fuera el relajo de php
__________________
Que hablen mal de uno es espantoso. Pero hay algo peor: que no hablen.
Quien hace, puede equivocarse. Quien nada hace, ya está equivocado".
  #6 (permalink)  
Antiguo 13/12/2007, 11:05
 
Fecha de Ingreso: diciembre-2006
Mensajes: 381
Antigüedad: 17 años, 3 meses
Puntos: 2
Re: subir archivo mayor a 2MB

creo que voy a tener que cambiar de proveedor de hosting.
Gracias por la ayuda
  #7 (permalink)  
Antiguo 13/12/2007, 11:32
 
Fecha de Ingreso: diciembre-2006
Mensajes: 381
Antigüedad: 17 años, 3 meses
Puntos: 2
Re: subir archivo mayor a 2MB

Esperen, no se podria cortar el archivo en partes menores a 2M con PHP, para luego subirlas individualmente. y luego volver a unirlos, pero todo con PHP.
O es imposible?
  #8 (permalink)  
Antiguo 13/12/2007, 11:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: subir archivo mayor a 2MB

No es posible, ya que para que PHP pueda ver el archivo, este ya tiene que estar en el servidor (en la carpeta de temporales). Después de este proceso (el upload) PHP pasa el control a tu script, pero antes de eso es cuando se hace la validación contra el php.ini

Saludos.
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 09:19.