Opendir bool(false)

Giovanni Castellano

Nuovo Utente
18 Apr 2016
5
0
0
Perdonate il disturbo, :) ma sto avendo un problema con una galleria fotografica che ho preso su un altro sito.

Non m'interessa proprio quella galleria, ma il mio problema principale è di avere una bella galleria fotografica fatta con l'opzione Opendir.

Il problema sta nell'apertura della cartella.

Facendo una verifica con il var_dump mi esce questo problema:

$handle = opendir($full_path);

in schermata mi esce Bool(false)

Come posso risolvere? :(
 
ciao
sei sicuro che la variabile $full_path contenga il nome giusto della cartella? che i percorsi siano giusti?che la cartella esista?
 
ciao
controlla i percorsi, guarda da manuale php
If path is not a valid directory or the directory can not be opened due to permission restrictions or filesystem errors, opendir() returns FALSE and generates a PHP error of level E_WARNING. You can suppress the error output of opendir() by prepending '@' to the front of the function name.

p.s.
non usare @ gli errori vanno risolti non nascosti e un consiglio se devi leggere i nomi dei file immagini dai un occhio alla funzione glob()
 
ciao
prova ad usare il percorso relativo (non se opendir supporta il percorso assoluto)
PHP:
<?php
//....
$full_path="immagini/";
var_dump(is_dir($full_path));//verifica, se non trova da false
$handle = opendir($full_path);
//...
?>
comunque ribadisco è più semplice usare glob, es.
PHP:
<?php
//....
$full_path="immagini/";
$immagini = glob($full_path."*.jpg");
//...
?>
$immagini è un array che contiene i nomi dei file che hanno estenzione .jpg, es.
$immagini[0] => pinco.jpg
$immagini[1] => pallo.jpg
ecc...
 
una soluzione potrebbe essere anche readdir():

PHP:
$handle = opendir('immagini/');

while(false !== ($img = readdir($handle)))
{
    //qui fai quello che vuoi con ogni $img
}
 
Ho provato l'opendir creando una pagina web molto sintetica( insomma leggeva il contenuto della cartella e stampava a video), con la stessa directory è funziona, quindi il problema non è l'opendir, ma come trovare l'errore che mi fa risultare bool(false)?