Newsgroup: it.comp.www.php
Titolo: lista del contenuto di una dir (ordine alfabetico)

salve,
ho fatto tempo fa (non ricordo se avevo chiesto qui o avevo letto da
qualche altra parte) un piccolo script che mi lista il contenuto di
una certa directory. funziona correttamente ma non mi mette i files in
ordine alfabetico come o mi aspetterei..
ho provato anche a vedere nelle FAQ
(
http://php.dopoil.com/faq.php?showSubDir
) ma, a parte il fatto che
bene o male i due scripts fanno le stesse cose, non mi lista questi
files in ordine alfabetico ma in ordine apparentemente casuale, dato
che non segue nemmeno un ordine del tipo last modified o cose cosi..
es pratico:
dir: ./
file: date.php
file: bottom.php
file: main_menu2.php
file: page.php
file: script.php
file: main_menu.php
come vedete in ordine sparso. il mio script fa lo stesso praticamente,
anche se è scritto diversamente (e elimina ../, ./, e anche le
estensioni).
avete idee riguardo un modo per listare in ordine alfabetico i nomi
dei files? non posto qui il mio script perchè tanto fa una cosa molto
simile a quello delle faq.. legge, elimina alcune parti, fa echo con
il nome del file senza estensione e un href, non mi serve altro. mi
servirebbe pero` l'ordine alfabetico appunto perche` mi servono in
ordine :D
-- 
-andreas liebschner
 
http://www.distorta.info
rimuovi .NOSPAM per rispondermi in email

 ha scritto nel messaggio
news:g9SL8.15104$K4.3...@twister2.libero.it...
| salve,
| ho fatto tempo fa (non ricordo se avevo chiesto qui o avevo letto da
| qualche altra parte) un piccolo script che mi lista il contenuto di
| una certa directory. funziona correttamente ma non mi mette i files in
| ordine alfabetico come o mi aspetterei..
io no so come tu abbia fatto lo script ma se ti appoggi
alla bash non puoi usare sort?
se invece, come credo si, usi qualche funzione di php,
beh, non so aiutarti...
--
[ Penguin At Work ]
-> 
http://web.tiscali.it/penguinatwork/
-> aka Fustino Di Dixan while working

 dei files?
Basta che nel ciclo while che legge i file anzichč mandare un echo salvi
$file in un array. Sull'array generato puoi usare le diverse funzioni
(sort() et similia). Una volta ordinato l'array lo mandi a schermo.
--
Stefano Vita Finzi Zalman
ho...@despammed.com
--
Pronesis srl
www.pronesis.it

 ordine alfabetico come o mi aspetterei..
Scusa, posteresti lo script?
-- 
ciao            |visita
                 |
http://www.sifor.it
gelty           |
http://www.sifor.com
-------------------------------------
Elimina toglimi. per le risposte
E' esplicitamente vietato usare l'indirizzo e-mail di questo messaggio
per fini diversi dalla risposta al messaggio stesso (Art. 10 DL. 171/98).

 schermo.
risolto, grazie


 Scusa, posteresti lo script?
lo script in questione era solo composto da un opendir(), un ciclo
while, readdir(), una riga con ereg_replace(), un echo e un
closedir().. comunque ho risolto prendendo spunto da un'altra risposta
e da una funzione che ho trovato su 
php.resourceindex.com
se ti serviva per darmi una risposta, gia fatto come ho detto, se ti
serve per vedere dimmelo che ti mando l'url dello script che mi ha
aiutato :)


 aiutato :)
La seconda che hai detto :-)


 La seconda che hai detto :-)
http://phpwizard.net/resources/phpMisc/scripts/plain/directory.php3
ho preso da qui un paio di idee per modificare il mio script


 ho preso da qui un paio di idee per modificare il mio script
Grazie mille!



ti posto questo che oggettivamente non capisco ma funziona, spero non
sia solo un caso.
faceva parte dell'installazione automatica di apache + php fatta dal
nuovo easyphp
<?
$rep=opendir('.');
while ($file = readdir($rep)) {
  if($file != '..' && $file !='.' && $file !=''){ 
    if (is_dir($file)){
      echo "<a href=\"$file/\" target=_blank>$file</a>";
      echo "<br>";
    }
  }
}
closedir($rep);
clearstatcache();
?>
effettivamente non esegue nessun ordinamento, forse dipende dal fatto
che ho i file ordinati per nome sul hard disk !?
-- 
Realtebo


sei un mito.., ora ci provo anche io.
realtebo, niubbino smaliziato e smanettone
-- 
Realtebo

ho preso da qui un paio di idee per modificare il mio script
difatti mette tutto in array , dir per dir, e poi esegue un sort.
Comunque grazie xkè ho aggiunto un bookmark al mio ie6.
-- 
Realtebo


<?php
$handle=opendir('.');
echo "Directory handle: $handle\n";
echo "Files:\n<br>";
while (($file = readdir($handle))!==false) {
$arr_file[]=$file;                   /* ti crei un array */
}
closedir($handle);
sort($arr_file);                      /* ordini l'array */
for($i=0;$i<sizeof($arr_file);$i++){
echo "<a href=$arr_file[$i]>$arr_file[$i]\n</a>br>";    /* stampi */
}
?>