Foros del Web » Programando para Internet » PHP »

warning opendir

Estas en el tema de warning opendir en el foro de PHP en Foros del Web. hola tengo un warning que me surge y nose que puede resultar es el o sn los siguientes:Warning: opendir(/galley_images) [function.opendir]: failed to open dir: No ...
  #1 (permalink)  
Antiguo 12/05/2014, 14:29
 
Fecha de Ingreso: octubre-2012
Ubicación: Rio Cuarto,Cordoba,Argentina
Mensajes: 139
Antigüedad: 12 años, 1 mes
Puntos: 0
Exclamación warning opendir

hola tengo un warning que me surge y nose que puede resultar es el o sn los siguientes:Warning: opendir(/galley_images) [function.opendir]: failed to open dir: No such file or directory in /var/www/outsourcingDemo/includes/redes/gallery.php on line 12

Warning: readdir() expects parameter 1 to be resource, boolean given in /var/www/outsourcingDemo/includes/redes/gallery.php on line 14

Warning: closedir() expects parameter 1 to be resource, boolean given in /var/www/outsourcingDemo/includes/redes/gallery.php on line 33
El codigo es el siguiente, esta dentro de una clase don le paso el path galley_images que es una carpeta a la misma altura
Código PHP:
function loadFolder($path){
        
        
$this->path $path;
        
        
//---Guardar en un arreglo todos los archivos en el directorio    
        
$folder opendir($this->path);
            
        while (
$fil readdir($folder)) {
            
            
//---Si no es un directorio
            
if(!is_dir($fil)){
                
                
$arr explode('.'$fil);
                
                if(
count($arr) > 1){
                    
                    
//---Ir guardando los nombres en un arreglo
                    
$this->files[] = $fil;
                    
                }
                
            }
            
        }
        
        
//---Cerrar el directorio
        
closedir($folder);
        
        
//---Ordenar alfabeticamente el arreglo
        
sort($this->files);
    
    } 
espero pueda alguien ayudarme saludos
__________________
Juan Pablo A. S.
  #2 (permalink)  
Antiguo 12/05/2014, 14:32
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: warning opendir

Pues el primer error es bastante obvio: No such file or directory

Es decir, no se trata de ningún error de código, sino que sencillamente la carpeta que intentas abrir no existe, así que el error es tuyo y no de tu código.

Digo que es tu error porque tu eres quien está usando dicho código, si le pasas una ruta incorrecta es obvio que te marque error, etc.

Así que soluciones mágicas no hay a tu problema, ¿se entiende?

Ahora, los demás errores se solucionan una vez corrijas el primero.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 13/05/2014, 07:17
 
Fecha de Ingreso: octubre-2012
Ubicación: Rio Cuarto,Cordoba,Argentina
Mensajes: 139
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: warning opendir

la verdad que si es tan obvio que ya lo sabia de todos modos la ruta que le paso no estaria mal creo por eso pido ayuda, a la carpeta len propiedades es esta la ruta que me da:10.233.233.248/var/www/outsourcingDemo/includes/redes/ (aca le agrego el nombre de la carpeta al pasar como parametro), me fije que la carpeta tenga permisos y los tiene.el codigo lo obtuve de http://www.cristalab.com/tutoriales/...micas-c73470l/ . muchas gracias por tu tiempo
__________________
Juan Pablo A. S.
  #4 (permalink)  
Antiguo 13/05/2014, 07:35
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años, 7 meses
Puntos: 326
Respuesta: warning opendir

Estoy deacuerdo con @pateketrueke...

Estás pasando mal la ruta, o similar. Checkealo otra vez... comprueba el parámetro que le pasas, que todo sea correcto... ;)
__________________
>> Eleazan's Source
>> @Eleazan
  #5 (permalink)  
Antiguo 13/05/2014, 08:02
 
Fecha de Ingreso: octubre-2012
Ubicación: Rio Cuarto,Cordoba,Argentina
Mensajes: 139
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: warning opendir

yo tb pero no logro darme cuenta les paso la ubicacion de los archivos a ver si uds logran darse cuenta:
index.php
includes
---------/redes/archivos/3 GBYTE SA/red test (esta es la carpeta don estan las imagenes)
--------------- /gallery.php (la clase donde paso al arreglo,donde me da el warning de opendir)
----------------/mostrar_info_red.php (aca es donde llamo a la clase y paso el path)espero sirva.saludos gracias!!
__________________
Juan Pablo A. S.
  #6 (permalink)  
Antiguo 13/05/2014, 12:53
 
Fecha de Ingreso: octubre-2012
Ubicación: Rio Cuarto,Cordoba,Argentina
Mensajes: 139
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: warning opendir

traes informarme mas sobre rutas, y a prueba y error je, logre dar con la correcta, ahora me quedan los siguientes errores:

Warning: readdir() expects parameter 1 to be resource, boolean given in /var/www/outsourcingDemo/includes/redes/gallery.php on line 14

Warning: closedir() expects parameter 1 to be resource, boolean given in /var/www/outsourcingDemo/includes/redes/gallery.php on line 33
__________________
Juan Pablo A. S.
  #7 (permalink)  
Antiguo 14/05/2014, 01:13
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años, 7 meses
Puntos: 326
Respuesta: warning opendir

Diria que sigue fallando el opendir... te está devolviendo false >_<
__________________
>> Eleazan's Source
>> @Eleazan
  #8 (permalink)  
Antiguo 16/05/2014, 08:11
 
Fecha de Ingreso: octubre-2012
Ubicación: Rio Cuarto,Cordoba,Argentina
Mensajes: 139
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: warning opendir

Logre hacer de otra manera mas sencilla que es la siguiente:
Código PHP:
              $directorio=opendir($path); 
              
$cont=0;
              
$arreglo=array();
              while (
$archivo readdir($directorio)){
                if(!
is_dir($archivo)or !($archivo='')){
                
$arreglo[$cont]= $archivo;
                }
                
$cont=$cont ;
              }
              
closedir($directorio); 
              
//esto lo hago provisoriamente para listarlos y ver el contenido              
              
$i=0;
              while (
$i<=$cont) {
                echo 
$arreglo[$i].' &nbsp;&nbsp;&nbsp;en la posicion:'.$i.'<br>';

              
$i=$i+1;
              } 
y me da como resultado lo siguiente
2bdd.jpg en la posicion:0
c3d3.jpg en la posicion:1
4c1b.jpg en la posicion:2
9f75.jpg en la posicion:3
en la posicion:4
en la posicion:5
359c.jpg en la posicion:6
647a.jpg en la posicion:7
red test1.jpg en la posicion:8
en la posicion:9
como se puede ver en la posicion 4,5 y 9 me guarda "vacio" . a que se puede deber?desde ya muchas gracias por su amabilidad y tiempo en cada respuesta.saludos
__________________
Juan Pablo A. S.
  #9 (permalink)  
Antiguo 16/05/2014, 08:22
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años, 7 meses
Puntos: 326
Respuesta: warning opendir

Es pq son directorios...

¿Y pq?

Por esto:

Código PHP:
 if(!is_dir($archivo)or !($archivo='')){ 
Es decir, primero comprueba si no son directorios. En caso de q no lo sean, no hace la segunda condición, y entra (pq tienes un or!).

Pero, ¿que pasa si son directorios? Comprueba la segunda condicion... y ahí está el fallo. En vez de comparar $archivo con una cadena, lo estás asignando. Es decir, en $archivo guardas "". Deberías tener un == ;)

Saludos!
__________________
>> Eleazan's Source
>> @Eleazan
  #10 (permalink)  
Antiguo 16/05/2014, 08:53
 
Fecha de Ingreso: octubre-2012
Ubicación: Rio Cuarto,Cordoba,Argentina
Mensajes: 139
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: warning opendir

lo acomode =
Código PHP:
              $directorio=opendir($path); 
              
$cont=0;
              
$arreglo=array();
              while (
$archivo readdir($directorio)){
                if(!
is_dir($archivo) and !($archivo=="")){
                
$arreglo[$cont]= $archivo;
                }
                
$cont=$cont ;
              }
              
closedir($directorio); 
              
$i=0;
              while (
$i<=$cont) {
                echo 
$arreglo[$i].' &nbsp;&nbsp;&nbsp;en la posicion:'.$i.'<br>';
              
$i=$i+1;
              } 
y de todos modos me da igual, a: and !($archivo=="")) se lo agregue intentando no me asigne en esa posicion espacio en blanco, pero sin el me da lo mismo en esas posiciones, probe con otros directosio y en distintas posiciones pero me asigna siempre espacios en blanco
__________________
Juan Pablo A. S.
  #11 (permalink)  
Antiguo 16/05/2014, 09:24
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años, 7 meses
Puntos: 326
Respuesta: warning opendir

Cita:
Iniciado por juaarias Ver Mensaje
lo acomode =
Código PHP:
              $directorio=opendir($path); 
              
$cont=0;
              
$arreglo=array();
              while (
$archivo readdir($directorio)){
                if(!
is_dir($archivo) and !($archivo=="")){
                
$arreglo[$cont]= $archivo;
                }
                
$cont=$cont ;
              }
              
closedir($directorio); 
              
$i=0;
              while (
$i<=$cont) {
                echo 
$arreglo[$i].' &nbsp;&nbsp;&nbsp;en la posicion:'.$i.'<br>';
              
$i=$i+1;
              } 
y de todos modos me da igual, a: and !($archivo=="")) se lo agregue intentando no me asigne en esa posicion espacio en blanco, pero sin el me da lo mismo en esas posiciones, probe con otros directosio y en distintas posiciones pero me asigna siempre espacios en blanco
Fallo mio!

el $cont=$cont+1 deberia ir dentro del if... si no asignas pq es directorio... deberias no sumar ;)

Saludos!
__________________
>> Eleazan's Source
>> @Eleazan
  #12 (permalink)  
Antiguo 16/05/2014, 13:14
lolainas
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: warning opendir

Y cambia esto:
Código PHP:
Ver original
  1. $i=0;
  2.               while ($i<=$cont) {
  3.                 echo $arreglo[$i].' &nbsp;&nbsp;&nbsp;en la posicion:'.$i.'<br>';
  4.               $i=$i+1;

por esto:
Código PHP:
Ver original
  1. var_dump($arreglo);
porfa, saludos.
  #13 (permalink)  
Antiguo 16/05/2014, 13:20
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 7 meses
Puntos: 292
Respuesta: warning opendir

Cuando veo este hilo se hace una sabana... empiezo a pensar quieren inventar la rueda

con DirectoryIterator:

Código PHP:
Ver original
  1. <?php
  2. $dir = new DirectoryIterator(dirname(__FILE__));
  3. foreach ($dir as $fileinfo) {
  4.     if (!$fileinfo->isDot()) {
  5.         printf("%s \n",$fileinfo->getFilename());
  6.     }
  7. }

Version recursiva:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $iterator = new RecursiveDirectoryIterator(dirname(__FILE__));
  4. $recursiveIterator = new RecursiveIteratorIterator($iterator);
  5.  
  6. foreach ( $recursiveIterator as $entry ) {
  7.     echo $entry->getFilename(), "
  8. ";
  9. }

Y podrias encontrar mil formas mas de hacerlo con esta lista de iteradores SPL:

https://php.net/manual/es/spl.iterators.php
__________________
Salu2!

Etiquetas: failed, opendir, warning
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 16:18.