Visualizzazione dei risultati da 1 a 8 su 8

Discussione: funzione glob

  1. #1

    funzione glob

    Salve sto calcolando i file presenti in una cartella:

    Codice PHP:
    $directory="../tmp_image_ads/$idad/";
    $countimg=count(glob($directory.".*")); 
    il problema è che la cartella è vuota ma mi da 2 come conteggio di file invece che 0

  2. #2
    Una directory vuota contiene comunque i riferimenti alla directory stessa (.) ed a quella superiore (..)
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    quindi per far risultare 0 come dovrei fare?

  4. #4
    eppure in altre situazioni mi dava quello che volevo tipo:

    Codice PHP:
    $directory="../../images/article/$cat/$idart";
    $countimg=count(glob($directory."/*.jpg")); 
    in questo sito mi dava il risultato adatto ora cosa cambia con quello precedente?
    Forse perche specifico l'estensione?

  5. #5
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    sottrarre due?

    io però scriverei il glob così
    Codice PHP:
    $countimg=count(glob($directory."*.*")); 
    altrimenti ti conta solo i file che iniziano con il punto e dato che in genere non è così avresti sempre due al conteggio, anche con cartella piena

    EDIT: sì, proprio perché specifici l'estensione

  6. #6
    si hai ragione difatti avevo già modificato così:

    Codice PHP:
    $countimg=count(glob("$directory/*")); 
    anzi visto che le cartelle contengono solo immagini come faccio a contarle non posso dare una estensione perchè le immagini possono essere sia jpeg che png che gif.

  7. #7
    Il tuo problema era dovuto al fatto che cercavi ".*", con "*" ti restituisce solo i file per cui il conteggio è esatto.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  8. #8
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    prova questo esempio preso dal
    manuale
    Codice PHP:
    //manuale
    $results=glob("{includes/*.php,core/*.php}",GLOB_BRACE);

    //il tuo caso
    $countimg=count(glob("$directory{/*.gif,/*.jpeg}",GLOB_BRACE)); 
    prova se funziona

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.