PDA

View Full Version : implementare un directoy listing...


thefrog
16-06-2004, 09:08
siccome altervista non offre il directory listing vorrei sapere se è possibile farlo, e come

magari se avete il codice già pronto :D

PS: altervista supporta php?

:help:

cionci
16-06-2004, 11:45
Per sapere se lo supporta basta provare...ma mi sembra che abbia qualche casino con i crediti...boh...non mi ricordo di preciso...

Per fare il directory listing:
<?php

if ($dir = @opendir("/tmp")) {
while (($file = readdir($dir)) !== false) {
echo "$file\n";
}
closedir($dir);
}

?>

thefrog
16-06-2004, 12:56
Originariamente inviato da cionci
Per sapere se lo supporta basta provare...ma mi sembra che abbia qualche casino con i crediti...boh...non mi ricordo di preciso...

Per fare il directory listing:
<?php

if ($dir = @opendir("/tmp")) {
while (($file = readdir($dir)) !== false) {
echo "$file\n";
}
closedir($dir);
}

?>

l'ho messo nella cartella dove ci sono i files in una pagina chiamata index.php ma non mi fa vedere niente, clicco sul link, mi apre una pagina bianca e resta bianca.....:confused:

edit - in locale sulla mia macchina quindinemmeno da dire che c'haoo loro qualcosa che non va.....
altre pagine in php funzionano...

cionci
16-06-2004, 13:27
Hai cambiato il nome della directory da visualizzare ?

thefrog
16-06-2004, 13:40
Originariamente inviato da cionci
Hai cambiato il nome della directory da visualizzare ?
oooooops

ma io credevo fosse una cosa ricorsiva, con i nomi di default, da infilare nella cartella di cui voglio il listing.....

manco l'ho letto il codice....

qual è il nome da cambiare?

il PHP è case sensitive vero?

thanks

VICIUS
16-06-2004, 15:29
Originariamente inviato da thefrog
il PHP è case sensitive vero?


Dipende piu che altro dal sistema su cui gira il server. Su Unix/Linux è case sensitive. Su windows no.

ciao ;)

cionci
16-06-2004, 15:34
opendir("/tmp")

Magari se vuoi la directory corrente basta fare:

opendir(".")

ma non te lo assicuro, non ho mai provato con percorsi relativi...

thefrog
16-06-2004, 15:45
Originariamente inviato da VICIUS
Dipende piu che altro dal sistema su cui gira il server. Su Unix/Linux è case sensitive. Su windows no.

ciao ;)

quindi questo significa che magari in locale su WinXP il codice funziona, poi lo mando sul server e non va?

bello!!!!!!!!!

ma allora conviene fare sempre e comunuqe conto che sia case sensitive.....

thefrog
16-06-2004, 20:19
ok, facendolo lavorare sulla directory corrente mi da una pagina con in alto queta stringa. .. Golf Hardware index.php io c'ero bara.jpg io c'ero ippopotamo.jpg io c'ero maiale.JPG Partita del cuore 2004 Thumbs.db

è già un passo avanti, dopo cena cerco di renderla un pò più guardabile e di farla diventare a colegamenti......

non ci riuscirò mai lo so

ciao!

thefrog
16-06-2004, 21:07
ma \n in una stringa con i doppi apici in php non dovrebbe andare a capo?

a me non mi ci va se ci metto \n mi mette uno spazio tra i nomi dei files, altrimenti mi scrive tutto attaccato, se ne metto più di 1 di 1n non cambia niente........:what:

VICIUS
16-06-2004, 22:33
Originariamente inviato da thefrog
ma \n in una stringa con i doppi apici in php non dovrebbe andare a capo?

a me non mi ci va se ci metto \n mi mette uno spazio tra i nomi dei files, altrimenti mi scrive tutto attaccato, se ne metto più di 1 di 1n non cambia niente........:what:
Certo il "\n" manda a capo nello stream di output. quindi.
echo "uno\ndue";
ti dara in output
uno
due
Ma i browser html interpretano un invio come uno spazio tranne quando si trova dentro al tag <pre></pre>. Per inserire un acapo che funzioni anche in html devi usare il tag <br />

ciao ;)

thefrog
16-06-2004, 23:37
:what:

mi fai un esempio di codice con quel pezzetto di php che c'è sopra?
in modo che ogni volta che stampo il nome di un file vada a capo....

sono 5 minuti che smanetto m a credo di non aver colto cosa devo fare....

cionci
17-06-2004, 00:21
Sostituisci <br /> al posto di \n...

thefrog
17-06-2004, 00:24
ma porca vacca........

mi stai quasi antipatico......io stò 3 or a bestemmiare (in senso figurato) poi arrivi te, 4 parole, e funzionatutto.........


in preda alla disperazione avevo provato a metterlo ovunque........:rolleyes:

thefrog
17-06-2004, 09:25
uff....


se voglio che ad ogni nome di file che lui mi stampa sia associato l'indirizzo come devo fare?

praticamente lui deve stampare tutti i nomi dei files che sono nella cartella corrente, e ad ogni nome deve associare un collegamento al file (o cartella)........
<?php

if ($dir = @opendir("."))
{
while (($file = readdir($dir)) !== false)
{
echo "<a href="$file">file</a>$file<br /> " ;
}
closedir($dir);
}

?>

c'è qualcosa che non va :what: mi da errore.....ho provato a rigirarlo un pò ma........niente di che.......:cry:

cionci
17-06-2004, 09:29
echo "<a href=\"$file\">$file</a><br />\n";

thefrog
17-06-2004, 09:32
Originariamente inviato da cionci
echo "<a href=\"$file\">$file</a><br />\n";


grazie! :flower:



:sivergognaeringrazia: