Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Directory più nuova

  1. #1

    Directory più nuova

    Salve ragazzi, ho necessità di creare uno script che apra la cartella images, nella quale sono contenute delle sottodirectory, ne individui la più recente, la apra e conti il numero di files all'interno, se maggiore di 15, creo un'altra cartella, altrimenti hosto il file su quella. Per quato rigurda la seconda parte, dovrei arrivarci, ma per quanto riguarda la prima, ossia individuare quella più recente, come devo fare??? Mi potreste buttar giù due righe di codice? Sto diventando matto!
    Grazie in anticipo!

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    Codice PHP:
    $percorso '.....';
    $subdirs = array();
    $dir false;
    if (
    $handle opendir($percorso)) {
        while (
    false !== ($file readdir($handle))) {
            
    $info stat($percorso.'/'.$file);
            
    $subdirs[$file] = $info['mtime'];
        };
        
    closedir($handle);
        
    krsort ($subdirs);
        
    $dir $subdirs[0];
    }; 
    verifica un po'... eventualmente aggiungi un po' di controlli...

  3. #3
    Ciao, per prima cosa grazie mille per la celere risposta, ma se scrivo:

    Codice PHP:
    <?php $percorso '/p/prova/images'$subdirs = array(); $dir false; if ($handle opendir($percorso)) {     while (false !== ($file readdir($handle))) {         $info stat($percorso.'/'.$file);         $subdirs[$file] = $info['mtime'];     };     closedir($handle);     krsort ($subdirs);     $dir $subdirs[0]; };  echo $dir?>
    L'echo non mi stampa nulla, come mai?

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    mmmh... non l'ho provata la funzione... magari fai un var_export($subdirs) per vedere cosa succede...

  5. #5
    Ho aggiunto qualche controllo per escludere dalla lista "." e "...", con var_export($subdirs) stampa questo: array ( 'prova3' => 1262716728, 'prova' => 1265127740, 'loolllissimo' => 1265112054, 'big' => 1262716795, ), che non sono in ordine, quindi ho fatto: arsort($subdirs) e richiamando $subdirs con var_export, restituisce le le cartelle in ordine. Il problema è che se chiamo $dir = $subdirs[0], non mi esce nulla! Perchè? Come posso fare?

  6. #6
    Ho risolto così:
    Codice PHP:
    $percorso "images/";
    $subdirs = array();
    if (
    $handle opendir($percorso)) {
        while (
    false !== ($file readdir($handle))) {
        if (
    $file != "." && $file != ".." && !is_dir($file)) {
            
    $info stat($percorso.'/'.$file);
           
    $subdirs[$info['mtime']] = $file;  //ho invertito chiave=>nome
         
    }
      }
        
    closedir($handle);
    };
    krsort ($subdirs);
    $dir array_shift($subdirs); //così estraggo il primo elemento dell'array, che è la cartella più recente 
    Qualcuno può dirmi se questo è sintatticamente corretto e soprattutto se posso fare in qualche altro modo migliore? Grazie comunque per ora

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    ok dovrebbe andare... sì in effetti l'indice [0] non c'è... devi recuperare il primo... va bene così se l'ordinamento va bene a te.

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.