Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [opendir] come mettere in ordine alfabetico

    ciao,
    ho visto nel manuale di php che è possibile ordinare i nomi dei file estratti con opendir e readdir.

    per nel mio caso particolare non ci riesco proprio

    posto il codice se qualcuno mi da una mano e mi dice dove inserire il sort mi fa un favore grandissimo


    codice:
    <?php   
    if ($handle = opendir('../immagini/prova/')) 
    ?>
    <select name="IMGS">
    <option value='<?php echo "$IMG_INI" ?>' selected><?php echo "$IMG_INI" ?></option>
    <?php
    	{  
        while (false !== ($file = readdir($handle))) {  
     	if ($file != "." && $file != "..") {   
            echo "<option value='$file'>$file</option>";   
            } 
        	}  
        	closedir($handle);   
    	}
    ?>
    $IMG_INI è impostata inzialmente come "seleziona immagine".
    devo utilizzare sort($file)?
    ma dove va inserito?

    ciao

  2. #2
    In teoria in dovrebbero essere già in ordine?
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

  3. #3
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Originariamente inviato da Sora88
    In teoria in dovrebbero essere già in ordine?
    In effetti, la lista è già ordinata.
    Ma lui forse si riferisce all'ordine naturale.

    Ordine normale :
    codice:
    pippo1.php
    pippo10.php
    pippo11.php
    pippo110.php
    pippo2.php
    pippo22.php
    Ordine naturale :
    codice:
    pippo1.php
    pippo2.php
    pippo10.php
    pippo11.php
    pippo22.php
    pippo110.php
    codice:
    <?php   
    $natSortArray = array();
    if ($handle = opendir('C:/Program Files/EasyPHP/www/tests/')) 
     {  
      while (false !== ($file = readdir($handle))) {  
       if ($file != "." && $file != "..") {   
        $natSortArray[] = $file;
       } 
      }  
      closedir($handle);   
     }
    natsort($natSortArray);
    ?>
    <select name="IMGS">
    <option value='<?php echo "$IMG_INI" ?>' selected><?php echo "$IMG_INI" ?></option>
    <?php
      foreach($natSortArray as $file) {  
       echo "<option value='$file'>$file</option>";   
      } 
    ?>
    </select>
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  4. #4
    ciao e grazie per i vostri interventi.

    i file non sono in ordine alfabetico
    vengono ordinati in base all'inserimento. in fondo gli ultimi inseriti.

    ora non posso provare il codice postato da badaze, appena posso provo e faccio sapere.

    tante grazie

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Originariamente inviato da alemyale
    ciao e grazie per i vostri interventi.

    i file non sono in ordine alfabetico
    vengono ordinati in base all'inserimento. in fondo gli ultimi inseriti.

    ora non posso provare il codice postato da badaze, appena posso provo e faccio sapere.

    tante grazie
    Strano. e' con windows ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  6. #6
    grande balaze, il tuo codice è perfetto ora mi fa l'elenco a tendina ordinato alfabeticamente.

    mi piacerebbe sapere come funziona il tuo codice ma va bene lo stesso. il fatto è che la mia conoscenza di php si è fermata davanti agli ostacoli array e sessioni

    grazie tante.

    Originariamente inviato da badaze
    Strano. e' con windows ?
    No sono su un server unix, credo che il sistema operativo sia Debian.

    ciao ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.