elenco automatico delle cartelle

Mtk-kun

Nuovo Utente
6 Giu 2011
19
0
0
buona sera a tutti!
spero possiate aiutarmi a risolvere un io problema relativo al php, premetto che so poco o niente di questo linguaggio, passo ad esporre il problema:

è da tempo che uso uno script per la lista automatica dei file presenti in una cartella, una volta indicata la cartella lo script restituisce come output la lista dei file presenti in quella cartella, bene, vorrei apllicare lo stesso principio ma anzi che la lista dei file presenti in una cartella vorrei che venissero listate le sotto-cartelle presenti nella cartella principale

più nello specifico la mia situazione è questa:

ho una cartella principale, 3 sotto cartelle uno due e tre nella cartella uno due e tre ci sono le sotto cartelle a b c quindi
main/uno/a,b,c
main/due/a,b,c
main/tre/a,b,c

bene io vorrei mettere uno script nella pagina main.php il quale mi listi le cartelle contenute nella carella main, poi una volta cliccato su una delle tre cartelle si veda il contenuto di quella cartella

ovviamente aggiungendo la cartella 4 si deve aggiornare automaticamente

è possibile fare ciò? appure ci sono alternative?

mille grazie in anticipo
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Devi fare un controllo con is_dir() per escludere i file, quindi:

PHP:
$dir = "/cartella";
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            if( ($file !='.')&&($file !='..') ){
            echo $file . "\n";
           }
        }
        closedir($dh);
    }
}
 

Mtk-kun

Nuovo Utente
6 Giu 2011
19
0
0
molte grazie innanzi tutto per la risposta, dunque lo script che io uso è questo
PHP:
<?php

     
    $dir = "main/";
     

     
    $before = '';
   
    $after = '';
     

     
    $estensioni = array();
     
     
    if (is_dir($dir)) {
     
    if ($dh = opendir($dir)) {
     
    while (($file = readdir($dh)) !== false) {
     
    if(is_file($dir . $file) && ((isset($estensioni) && count($estensioni) > 0 && in_array(strtolower(end(explode(".", $file))),  $estensioni )) || !isset($estensioni) || count($estensioni) < 1)){
     
    echo $before.'<a href="'.$dir.$file.'" >'.$dir.$file.'</a>'.$after. "\n";
     
    }
     
    }
     
    closedir($dh);
     
    }
     
    }
     
?>

dovrei sostituire questa parte
PHP:
    if (is_dir($dir)) {
     
    if ($dh = opendir($dir)) {
     
    while (($file = readdir($dh)) !== false)
con quella che mi hai fornito tu?
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
devi sostituire tutto a partire da dopo
PHP:
$estensioni = array();
in poi.
 

Mtk-kun

Nuovo Utente
6 Giu 2011
19
0
0
sei stato davvero gentilissimo, funziona tutto alla grande, facendo poi delle prove ho aggiunto la possibilità di cliccare sulla cartella che restituisce come output
così:
PHP:
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            if( ($file !='.')&&($file !='..') ){
            echo $before.'<a href="'.$dir.'" >'.$file.'</a>'.$after. "\n";
           }
        }
        closedir($dh);
    }
}

e qui mi sorge un dubbio, provandolo su serverl locale (XAAMP) ho notato che la lista la esegue in modo perfetto, ma una volta cliccato su una di quelle cartelle mi fa andare sulla classica schermata di apache con la lista delle cartelle su server con la possibilità di navigare tra le catelle stesse, c'è un modo per, una volta cliccata sul link della lista, andare direttamente alla cartella selezionata senza la possibiltà di vedere il contenuto di tutto il server?
grazie mille
 

Mtk-kun

Nuovo Utente
6 Giu 2011
19
0
0
sei stato davvero gentilissimo, funziona tutto alla grande, facendo poi delle prove ho aggiunto la possibilità di cliccare sulla cartella che restituisce come output
così:
PHP:
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            if( ($file !='.')&&($file !='..') ){
            echo $before.'<a href="'.$dir.'" >'.$file.'</a>'.$after. "\n";
           }
        }
        closedir($dh);
    }
}

e qui mi sorge un dubbio, provandolo su serverl locale (XAAMP) ho notato che la lista la esegue in modo perfetto, ma una volta cliccato su una di quelle cartelle mi fa andare sulla classica schermata di apache con la lista delle cartelle su server con la possibilità di navigare tra le catelle stesse, c'è un modo per, una volta cliccata sul link della lista, andare direttamente alla cartella selezionata senza la possibiltà di vedere il contenuto di tutto il server?
grazie mille

mi auto rispondo in pratica faccio in modo che lo script punti ad un file .php presente nella cartella di destinazione

e ora ho bisogno di un altro consiglio, nella parte
PHP:
$dir = "main/";
al posto di main vorrei che ci fosse un testo presente in un file .txt dentro la stessa cartella, ho provato con
PHP:
$dir = "include('nome.txt')";
ma non funge, come posso fare?
mille grazie
 

Mtk-kun

Nuovo Utente
6 Giu 2011
19
0
0
Così:
PHP:
$dir = file_get_contents('file.txt');
grazie mille, ma mi sono accorto che il mio percorso è più lungo, cioè
PHP:
$dir = "main/image/fantasy/";

e dopo la cartella fantasy mi serve che prenda il nome della cartella successiva dal file.txt

posso usare lo stesso la funzione file_get_contents('file.txt');??
 

Mtk-kun

Nuovo Utente
6 Giu 2011
19
0
0
grazie mille, sei stato davvero gentilissimo funziona tutto alla grande, un'ultima cosa, se volessi mettere uno "/" alla fine del percorso come dovrei fare? ho provato con
PHP:
$dir = 'main/image/fantasy/' . file_get_contents('file.txt')/;
ma non va, c'è un modo per includere lo slash?
 

Mtk-kun

Nuovo Utente
6 Giu 2011
19
0
0
grazie mille, hai risolto ogni mio dubbio, sei davvero gentilissimo
ora mi sa che inizierò a studiare il php:book::book:
grazie ancora!
 
Discussioni simili
Autore Titolo Forum Risposte Data
W Elenco dei link del file presenti in una cartella PHP 2
F Script java elenco alfabetico non funziona Javascript 3
F Script non funzionante. Devo elencare in ordine alfabetico un elenco di nominativi, ma lo script non Javascript 2
N Script elenco file HTML HTML e CSS 5
Cosina Cancellare una specifica email da un elenco in un file txt PHP 3
M [PHP] Elenco con "classifica" delle informazioni nel db PHP 3
M [PHP] Selezione record da elenco PHP 24
D [phpBB] [HTML] Problema pagina elenco argomenti (di forum) phpBB 9
U elenco paesi black list... Leggi, Normative e Fisco 1
S [PHP] estrarre le email da un elenco di url PHP 21
P [PHP] Creare un elenco completo con tabella PHP 3
asevenx [Javascript] [AngularJS] contare opzioni selezionate di una select in un elenco ng-repeat Javascript 0
D Elenco File cartella solo HTML HTML e CSS 7
T [PHP] elenco delle parole presenti in un campo (senza doppioni) PHP 25
giancadeejay accumulare in elenco con php PHP 11
A [Javascript] [CSS] elenco affiancato per evitare scorrimento pagina Javascript 4
P [PHP] Creare elenco immagini PHP 2
V [PHP] Form con elenco a tendina con dati DB PHP 20
asevenx Selezionare elementi da un elenco in modo dinamico e inviarli al database PHP 0
Monital elenco variabili solo con suffisso PHP 2
L elenco file immagini con checkbox di selezione PHP 1
filippino creare un elenco in un articolo su WordPress WordPress 2
A Windows 7 personalizzare vista elenco con icone più grandi Windows e Software 0
S problemi con elenco dei prodotti PHP 2
andrea.peo PHP forzare option value di elenco select database Mysql PHP 2
N Form elenco + query PHP 4
F Elenco di novità in rotazione Javascript 1
M Mappa immagine con elenco di link reciproci Javascript 0
M Funzione elenco file e file in sottodirectory PHP 2
L elenco anagrafe degli utenti PHP 5
E Leggere Elenco Contatti da Account Gmail PHP 0
F Problema elenco puntato firefox HTML e CSS 0
C Esercizio: Inserire elenco numeri e controllare che siano di tupi numerico Javascript 2
L Paginazione elenco File da una cartella PHP 11
novello88 Elenco PTC e PTR per guadagnare con Internet Guadagnare col Sito 1
braccobaldo Pubblicità tooltip: come funziona ed elenco siti che offrono spot contestuali Guadagnare col Sito 3
I elenco files di una directory su una pagina del mio sito web HTML e CSS 9
G elenco dinamico con php e mysql PHP 0
emanuelevt link tramite elenco HTML e CSS 2
M elenco pagine con affianco delle miniature Database 2
R Cerco elenco aggiornato di free directory per inserire il mio sito SEO e Posizionamento 3
A HTML personalizzare i valori di rientro di un elenco HTML e CSS 12
L Elenco link con ciclo for PHP 12
P Upload di un elenco di file PHP 1
S JS o Ajax per Data Mining Email su elenco indirizzi. Javascript 5
M elenco files in una cartella e sotto-cartelle PHP 1
D Visualizzare i file in un elenco per estensione PHP 1
lamiadirectory Elenco directory (+250) gratis e utile Presenta il tuo Sito 0
D Elenco di date Classic ASP 1
P Creaiamo un elenco di siti utili ? Discussioni Varie 2

Discussioni simili