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

    Leggere solo alcuni file in una dir

    Ciao, per visualizzare i file che sono presenti in una dir utilizzo questa funzione.

    $dir_handle=opendir($fotosubdirpath);
    $pics=array("");
    while (false !== ($file = readdir($dir_handle)))
    {
    if ($file != "." && $file != ".." && $file != "Thumbs.db")
    {
    array_push($pics,"$file");
    }
    }

    Nella dir ci sono files con i seguenti nomi 1_01, 1_02, 2_01, 2_02, ecc..
    vorrei fare in modo di dire a php di considerare solo i files con nome 1_* o 2_*, ma non riesco a trovare la sintassi corretta da passare alla clausola if... [ if ($file = "1_*") ]
    Mi date qualche suggerimento?

    Grazie
    Ciao

  2. #2
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    ciao , tu leggi la cartella e inserisci i nomi dentro larray...

    ora prima di inserirli potresti :
    spezzare il nome del file ai primi 2 caratteri
    verificare se i caratteri selezionati sono uguali a quelli che vuoi inserire

    tipo :

    $pippo = substr($file, 0,2);
    if ($pippo === "1_" || $pippo === "2_"){
    //carichi array con i file
    }else if{
    continue;
    }
    (ciò se i nomi sono sempre cosi!)

    cia
    cia

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    6,034
    oppure puoi usare glob()

    glob("$dir/*1_*")

  4. #4
    Ok grazie 1000 a tutti!

    Ciao

  5. #5
    Originariamente inviato da meganoide
    oppure puoi usare glob()

    glob("$dir/*1_*")
    Non riesco ad applicarla al mio script.. mi daresti una mano?

    Grazie!

  6. #6
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    clicca qui per il manule

    la funzione glob e spiegata nel link che ti ho passato, purtroppo non lo mai usata ... ma

    glob è un array e quindi un esempio riportato è questo

    Codice PHP:
    <?php
    foreach (glob("0_*") as $filename) {
    echo 
    $filename ;

    }
    ?>
    ti dovrebbe stampare tutti i file che iniziano per '0_'
    ciao

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    6,034
    Originariamente inviato da mandrake_01
    Non riesco ad applicarla al mio script.. mi daresti una mano?

    Grazie!
    Codice PHP:
    foreach (glob("../tuo/percorso/{1_*,2_*}"GLOB_BRACE) as $filename) {
     if (
    $filename != '.' && $filename != '..' && basename($filename) != 'Thumbs.db'){
      echo 
    $filename."
    "
    ;
      }


  8. #8
    Ok grazie ancora!

    Ciao

  9. #9
    Ho un'altro problema nell'utilizzo di GLOB...

    foreach (glob("../tuo/percorso/1_*") as $filename) {

    questa funzione mi ritorna il nome del file + il path e non solo il nome del file.

    $filename = ../tuo/percorso/1_1.jpg, ecc..

    Non ho trovato nulla che dica a glob di restituire solo il nome del file (come facevo con la funzione opendir)..

    Qualche suggerimento?

    Grazie
    Ciao

  10. #10
    Originariamente inviato da mandrake_01
    Ho un'altro problema nell'utilizzo di GLOB...

    foreach (glob("../tuo/percorso/1_*") as $filename) {

    questa funzione mi ritorna il nome del file + il path e non solo il nome del file.

    $filename = ../tuo/percorso/1_1.jpg, ecc..

    Non ho trovato nulla che dica a glob di restituire solo il nome del file (come facevo con la funzione opendir)..

    Qualche suggerimento?

    Grazie
    Ciao
    Scusate, l'ho trovato solo ora...
    basename($file).


    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 © 2024 vBulletin Solutions, Inc. All rights reserved.