Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di MondrianPiet
    Registrato dal
    Dec 2013
    residenza
    Udine
    Messaggi
    20

    Implementazione del comando LS (Dir per Windows)

    Ciao, forse questa domanda vi è già stata fatta ma dopo una ricerca nel forum non ho trovato nulla che mi spieghi come fare.
    Ecco la domanda: sto implementando una semlice classe che mi permetta tramite un glob() di iterare una directory inviando contestualmente delle direttive di ricerca.
    La classe pura e semplice è questa:
    Codice PHP:
        class ls {
            
            
    //    $file = nome di file da cercare (valgono i path di ricerca tipici dei filesystem e le regex)
            //    $extensions = un array monodimensionale con le estensioni dei file da cercare.
            
    function __construct(Array $extensions$file '*') {
                
    print_r(glob("$file.{".implode(',',$extensions)."}"GLOB_BRACE));
            }    
    //    __construct()
        
    }    //    fine della classe ls 
    per ora è embrionale e riporta solo un array con i file presenti nella directory (per ora non c'è nemmeno la possibilità di aggiungere un path diverso da quello da cui è chiamata la classe).
    Chiamandola a vuoto...
    Codice PHP:
        $ext = array ('php');
        
    $obj = new ls($ext); 
    Funziona benissimo e mi riporta i file in un arrai visualizzato da print_r() ma appena inizio a "giocare sporco" iniziano i problemi.
    Ad esempio se inserisco come secondo parametro un pattern di ricerca come questo:
    Codice PHP:
        array ('php');
        
    $file '/\ls$/i.*';
        
    $obj = new ls($ext$file); 
    mi riporta un array vuoto, che però di per se non ha senso dato che doveva presentarmi almeno se stessa (il file si chiama ls.class.php), credo che il problema risieda nella regex.
    In effetti quella regex associata alla array di estensioni, una volta "sciolto" dovrebbe darmi un pattern di ricerca così: ls.*.php ma credo proprio che sbaglio qualche cosa nella regex, inoltre se lo scrivo al posto della regex, lo script mi va in errore (ma non so quale perché il maledetto server su cui lavoro ora e a cui non posso accedere non mi fa vedere il log di errore nemmeno con le direttive error_reporting eccetera).
    Ci capite qualche cosa cortesemente?

  2. #2
    Utente di HTML.it L'avatar di garakkio
    Registrato dal
    Dec 2011
    residenza
    Roma
    Messaggi
    480
    non mi pare che tu stia usando correttamente la sintassi di glob. Hai già consultato il manuale?

  3. #3
    Perché invece di usare il comando ls non usi qualcosa del genere http://it2.php.net/readdir?
    http://www.youtube.com/user/alekosfilini @afilini

  4. #4
    Utente di HTML.it L'avatar di garakkio
    Registrato dal
    Dec 2011
    residenza
    Roma
    Messaggi
    480
    Quote Originariamente inviata da afilini Visualizza il messaggio
    Perché invece di usare il comando ls non usi qualcosa del genere http://it2.php.net/readdir?
    perché allora non tornare direttamente a php4?
    Se proprio vogliamo proporre un'alternativa, che almeno faccia uso di un Iterator

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.