php e funzione is_dir

lally_fragola

Utente Attivo
26 Apr 2010
43
1
0
Ciao a tutti, spero che qualcuno possa aiutarmi a capire perché non riesco a vedere correttamente il contenuto di una directory :P. Mi spiego: voglio entrare in una directory e visualizzare il nome delle altre directory in essa contenuta, e non dei file. Ho utilizzato:
Codice:
$directory = "C:/";
	if (is_dir($directory)) {
$files1 = scandir($dir);
foreach($files1 as $file) if(is_dir($file)) echo $file;
}

il problema è che così facendo mi visualizza solo una cartella all'interno di C:, ovvero "salvataggi" (creata da me)...ma io vorrei che mi visualizzasse anche le altre, ovvero Users, Programs e così via....perchè non funziona? Non le vede come directory? O ci sono ignoti(per me) problemi di protezione essendo all'interno del disco? Però è strano perchè io posso scrivere su C: da php....
Grazie
 
Prova così:

PHP:
<?php
showDir("C:/");

function showDir($path) {
	$files1 = scandir($path);
	foreach($files1 as $file) {
		if (is_dir($path.$file)) {
			echo $file."<br/>";
		}
	}
}
?>

Praticamente la scandir restituisce solamente il nome di file o directory, ma la funzione is_dir necessita del percorso completo.
 
Ultima modifica:
Ciao e grazie della risposta, così effettivamente mi visualizza tutte le cartelle ma devo chiederti un ulteriore raffinamento :P . Il codice che mi hai postato mi dà questo output:

$RECYCLE.BIN
boot
Config.Msi
Dev-Cpp
HP
IDE
LINDO61
MSOCache
My Documents
Need4Video files
PerfLogs
Program Files
ProgramData
salvataggi
SWSetup
System Volume Information
System.sav
Users
Windows
xampp

giustamente, i due file di testo che ho messo per vedere se funzionava non ci sono ma per quanto riguarda $RECYCLE.BIN e boot non ho idea di cosa siano,o meglio almeno per boot un'idea ce l'ho anche ma non capisco che ci facciano stampate insieme alle altre dal momento che in C:/ dovrebbero essere cartelle nascoste, mi sai aiutare a non farle visualizzare :P?
Mille grazie :)
 
Ultima modifica:
La funzione scandir() restituisce tutti i file e le cartelle presenti nel percorso passato come parametro. Ho fatto delle ricerche ma sinceramente non so se in PHP sia possibile capire se un file è nascosto o meno. C'è la funzione stat() che permette di recuperare informazioni su di un file o cartella tipo i permessi (mode), ma per quanto riguarda gli attributi non saprei proprio.
 

Discussioni simili