Contacto | #php_para_torpes | Enlázanos | ¿Quiénes somos?
31 usuarios Online (0)
Darse de alta en la web | Recuperar password   
Inicio / Foros / PHP / Problema con manejo de peso de archivos...
1 respuestas recibidas | 58 visitas | Categoría PHP

Problema con manejo de peso de archivos...

Avatar de Mytto
Nivel 1 Nivel 1 Nivel 1 Nivel 1 Nivel 1 Nivel 1 Nivel 1

(Nivel 1 - 6 posts)

#0 Offline Mytto Usuario 10 mar 08 (19:00)  
hola... otra vez por aca indagando por estos lados pa aclarar una duda...
ya termine la aplicacion anterior, gracias a todos por sus aclaraciones y explicaciones, pero resulta q ahora tengo q desarrollar otra q tambien emplea manipulacion de archivos (cargarlos al servidor y dar la opcion de descargarlos)... y ps al parecer todo iba bn... pero resulta q este cliente maneja archivos realmente pesados... por lo general envia todo en zips... de mas de 10 mb... y cuando uso la funcion copy... me saca error.... esto solo pasa con archivos pesados... hago la prueba con archivos de maximo 1 mb y funciona sin problema... pero cuando intento subir archivos mas pesados... me saca error.... kien me puede ayudar con esto???....
y otra cosita... para verificar la extension de los archivos, encontre esta funcion:

$extension = explode(".",$archivo);
if ($extension[1] == zip) {
$media=filesize($archivo);
$medida = $media / 1000;
echo $medida."kb";
}
else { echo "<b>El archivo no es un zip</b><br>"; }
}

pero tengo una duda... yo puedo asignar a la variable $archivo, el valor de $_POST['archivo'] donde este campo es un tipo file ??.... esto no me afecta la funcion copy q empleo posterior a la verificacion de la extension???.... aunk ps lo mas urgente es lo del peso... q no me afecte el peso del archivo el funcionamiento de la aplicacion... saludos y exitos desde Cali, Colombia a tod@s.... suerte..

Re: Problema con manejo de peso de archivos...

Avatar de Onzalo
Nivel 2 Nivel 2 Nivel 2 Nivel 2 Nivel 2 Nivel 2 Nivel 2

(Nivel 2 - 69 posts)

#1 Offline Onzalo Usuario 11 mar 08 (12:40)  
no. no uses $_FILES['archivo'], tendrias que usar $_FILES['archivo']['tmp_name'], y hacerle un par de cosas más quizá..

si afecta al copy.. no.. asi como lo pusiste no haría más que mostrar la información... tenés dos opciones:

Código PHP


<?
$extension
= explode(".",$archivo);
if (
$extension[1] == zip) {
$media=filesize($archivo);
$medida = $media / 1000;
echo
$medida."kb";
//solo si es zip copiar
copy(..)
}
else { echo
"<b>El archivo no es un zip</b><br>"; }
}
?>


o mejor.. una funcion:

Código PHP


<?
function is_zip($archivo){
//declaramos $media como global para que pueda ser vista fuera de la funcion
global $medida;
$extension = explode(".",$archivo);
    if (
$extension[1] == zip) {
    
$media=filesize($archivo);
    
$medida = $media / 1000;
    
//si es zip devolvemos verdadero
    
return true;
    }
    else {
    
$medida=false;
    return
false;
    }
}

if(
is_zip($archivo){
copy(...);
}
else{
echo
'solo se aceptan archivos zip';
}
?>



----
Por ultimo lo urgente :P

esto me lo pasó alguien... y lo tengo asi, me funciona bien, y nunca lo modifiqué.. pero podés configurarlo a tu gusto...

Código PHP


/////////Upload////////
/*Esto tenés que ponerlo antes de realizar el copy*/
ini_set("memory_limit","259M");
ini_set("upload_max_filesize","256M");
ini_set("post_max_size","257M");
ini_set("max_execution_time","1800");
ini_set("max_input_time",strval(1800*2));
////////----------////////
        
/////Fin Upload/////
/* es recomendable q esto lo pongas al final, para restaurar los valores por defcto*/
ini_restore("memory_limit");
ini_restore("upload_max_filesize");
ini_restore("post_max_size");
ini_restore("max_execution_time");
ini_restore("max_input_time");
/////-------------/////



ahi podes configurar memoria utilizada, maximo tamaño de archivo a subir, el del subido, el max tiempo de ejecución, y el max tiempo de subida... creo.. :P sino es cuestion de buscar en google...

no creo que tengas problemas con eso...
sino avisa
Onzalo..

Responder mensaje

Para poder participar debes estar registrado e identificado. Si no estás registrado como usuario de PHP-Hispano, :: Registrar ::
Login / Password   

Web alojada en Zilos

php-hispano.net 2002 - 2008 | XHTML 1.0
Datos Legales | Webmaster