Scandalo PHP strano comportamento
Domanda
ok, quindi quello che sto cercando di fare è scansionare il "precedente" cartella.
$scanned = scandir("..");
foreach($scanned as $file){
if(is_file($file)){
print $file."<br />";
}
}
anche se nel mio " .. " directory ho più di 20 file ottengo solo tre righe
index.jpg
index.php
template.dtd
ho notato che se non uso questo file t is_file se restituisce tutti i nomi dei file; ma ne ho davvero bisogno se la clausola.
Soluzione
Ci vorrà un po 'di tempo per indovinare che questi tre file esistono sia nella directory corrente che nella directory principale. scandir ()
restituisce solo nomi di file e stai chiamando is_file ($ file)
quando intendi is_file (" ../$ file ")
.
Altri suggerimenti
La tua funzione sta testando quei nomi di file nella directory corrente e non nella directory precedente. Per ottenere il risultato desiderato, prova: is_file ('../'. $ File) invece.