Foros del Web » Programando para Internet » PHP »

filesize se raya un poco....

Estas en el tema de filesize se raya un poco.... en el foro de PHP en Foros del Web. Código PHP: function  FUNC_tamayoFichero ( $file ){      $bytes  =  filesize ( $file );      $types  =  Array( "bytes" , "kilobytes" , "megabytes" , "gigabytes" , ...
  #1 (permalink)  
Antiguo 21/05/2004, 12:35
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
filesize se raya un poco....

Código PHP:
function FUNC_tamayoFichero($file){

    
$bytes filesize($file);
    
$types =  Array("bytes","kilobytes","megabytes","gigabytes","terabytes");
    
$current 0;
        while (
$bytes 1024) {
            
$current++;
            
$bytes /= 1024;
        }
    return 
round($bytes,2)." ".$types[$current];

pq no es capaz de leer el tamaño de un fichero mayor de 2 gigas... mas o menos..., se raya y me tira un numero con un "-" delante, usease... como las calculadoras cuando nos pasamos de numeros que caben en la pantalla.... curioso, pero no se como solucoonarlo...

alguien tiene idea?
__________________
3w.valenciadjs.com
3w.laislatv.com
  #2 (permalink)  
Antiguo 21/05/2004, 13:12
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Si, el manual oficial en ingles: www.php.net/filesize .

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 21/05/2004, 13:59
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
ya pase por alii... antes de preguntar.... y no vi nada del pq de mi problema... como ya digo, si los ficheros son de 500 megas bien, 900 tb, 1,5 gigas tb bien, pero si ya pasamos a 2,5 gigas... se raya.
__________________
3w.valenciadjs.com
3w.laislatv.com
  #4 (permalink)  
Antiguo 21/05/2004, 16:04
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
De esa pagina:
Cita:
Note: Because PHP's integer type is signed and many platforms use 32bit integers, filesize() may return unexpected results for files which are larger than 2GB. For files between 2GB and 4GB in size this can usually be overcome by using sprintf("%u", filesize($file)).
Con eso puedes tener una cadena con el numero grande. Quizas tambien podria servir asignarlo como float:
Código PHP:
$tamano=(float) filesize(); 
Suerte.

PD: No tengo ningun fichero de mas de 2gb, asi que no puedo probarlo
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 21/05/2004, 17:42
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
;)... estoy algo ciego.. gracias Josemi
__________________
3w.valenciadjs.com
3w.laislatv.com
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 10:24.