Foros del Web » Programando para Internet » PHP »

error de filesize al intentar ver el peso de un archivo.

Estas en el tema de error de filesize al intentar ver el peso de un archivo. en el foro de PHP en Foros del Web. Buenos días, estoy intentando usar filesize, pero no entiendo porque me da el siguiente error: Warning: filesize() [function.filesize]: stat failed for 11004.png. el código que ...
  #1 (permalink)  
Antiguo 30/11/2009, 05:50
 
Fecha de Ingreso: agosto-2006
Mensajes: 219
Antigüedad: 17 años, 8 meses
Puntos: 0
error de filesize al intentar ver el peso de un archivo.

Buenos días, estoy intentando usar filesize, pero no entiendo porque me da el siguiente error:
Warning: filesize() [function.filesize]: stat failed for 11004.png.

el código que tengo es:

Código PHP:
<?php

$peso1 
filesize($campos[4]);

?>
Este código esta dentro de un for, que ejecuta todo bien, menos este parámetro.

Gracias

O.
  #2 (permalink)  
Antiguo 30/11/2009, 05:52
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: error de filesize al intentar ver el peso de un archivo.

prueba a usar clearstatcache() antes de iniciar el ciclo...
http://php.net/clear_stat_cache
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 30/11/2009, 06:05
 
Fecha de Ingreso: agosto-2006
Mensajes: 219
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: error de filesize al intentar ver el peso de un archivo.

Lo acabo de probar y sigue dandome el mismo resultado, también he revisado los permisos de los archivos, por si acaso no tenína permisos de lectura, y si que tienen.

¿Alguna pista de poque puede ser el error?

He probado a coger un archivo al azar, y ejecutar la función fuera del for, y me da el resultado el peso del mismo.

Un saludo

O.
  #4 (permalink)  
Antiguo 30/11/2009, 06:08
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: error de filesize al intentar ver el peso de un archivo.

mmm... y se le prefijas la ruta??

porque ahí solo has de estar usando el nombre del archivo...

o bien, ¿puedes mostrar como haces el ciclo??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 30/11/2009, 06:13
 
Fecha de Ingreso: agosto-2006
Mensajes: 219
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: error de filesize al intentar ver el peso de un archivo.

Puede ser un poco largo el código, pero te comento.
Tengo en el mismo directorio el *.php que ejecuta el código y los archivos que quiero leer.

Ahora mismo únicamente estoy preparando la carga de la base de datos, más adelante ya moveré los archivos a su lugar asignado en la variable ruta.

Código PHP:
<?   
    
    
//conector con la base de datos
    
$conn mysql_connect("localhost","root","123456");
    
mysql_select_db("carga",$conn);
    
    
$archivo file('datos.csv');
    
$lineas count($archivo);

    for(
$i=0$i $lineas$i++){
        
clearstatcache();
        echo 
'<br>el número de línea es: '$i .' la linea dice ' $archivo[$i] . '<br>';
        
$campos explode("#"$archivo[$i]);
        
//@el array campos contiene un array con 
        
$cantidad count($campos);
        
$titulo $campos[1];
        
$hoy time();
        
mysql_query ("INSERT INTO node
                    (nid,vid,type,language,title,uid,status,created,changed,comment,promote,moderate,sticky,tnid,translate)
              values('','','producto','es','$titulo','3','1','$hoy','$hoy','0','0','0','0','0','0')"
);
          
mysql_query ("UPDATE node SET vid = LAST_INSERT_ID() where nid=LAST_INSERT_ID()");
          for (
$a0$a<$cantidad$a++){
              echo 
'el campo número:'$a .' contiene la información: '$campos[$a] .'<br>';
          }
        
//insertamos los valores de las taxonomías y los nodos en term_node
        
$consultar mysql_query("SELECT nid from node  ORDER BY nid DESC LIMIT 0,1");
        
$ultimoid mysql_fetch_object ($consultar);
        print 
'<br>'$ultimoid->nid .'ultimoid <br>';
        print 
'<br>'$campos[3] .' archivo 3 <br>';
        
mysql_query ("INSERT INTO term_node (nid ,vid,tid) VALUES ('$ultimoid->nid','$ultimoid->nid',$campos[3])");
        
        
//carga de datos en el archivo files, aquí se define los elementos adjuntados.
        //@campos[4] es para imágenes
        
        
$ruta1 'sites/default/files/'.$campos[4];
        
$peso1 filesize($campos[4]);
        
mysql_query ("INSERT INTO files (fid, uid, filename, filepath, filemime, filesize, status, timestamp)
                    VALUES ('','3','$campos[4]','$ruta1','aplication/pdf','$peso1',1,'$hoy')"
);
        print 
$campos[4] .'este es el nombre del archivo <br>';
        print 
$ruta1 .' esta es la ruta 1 del archivo<br>';
        print 
$peso1 .' este es el peso del archivo<br>';
        
//carga de datos en el archivo files, aquí se define los elementos adjuntados.
        //@campos[5] es para pdf
        
        
$ruta2 'sites/default/files/'.$campos[5];
        
$peso2 filesize($campos[5]);
        
mysql_query ("INSERT INTO files (fid, uid, filename, filepath, filemime, filesize, status, timestamp)
                    VALUES ('','3','$campos[5]','$ruta2','aplication/pdf','$peso2',1,$hoy)"
);
        print 
$campos[5] .'este es el nombre del archivo <br>';
        print 
$ruta2 .' esta es la ruta 1 del archivo<br>';
        print 
$peso2 .' este es el peso del archivo<br>';
       
     }
Un saludo

O.
  #6 (permalink)  
Antiguo 30/11/2009, 09:20
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: error de filesize al intentar ver el peso de un archivo.

bien, ves como deliberadamente usas las funciones como si los archivos existieran??

por favor, siempre usa lógica de control... antes de "medir" el archivo, comprueba que existe con is_file()
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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 23:08.