Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Usare ligthbox con php

  1. #1

    Usare ligthbox con php

    ho un problema con lightbox (il plugin di jquery).
    la parte html di esempi oè questa:
    dove in img vanno messe le immagini piccole, e in href quelle mostrate dall'overlay.
    siccome le immagini che dovrei mettere sono molte e nn mi va di farlo a mano, secondo voi esiste un modo per farle mettere in automatico a PHP scandagliando la directory dove ci sono le foto?
    ho provato in vari modi, ma alla fine mi sono sempre bloccato.

  2. #2
    Utente di HTML.it L'avatar di costi31
    Registrato dal
    Nov 2007
    Messaggi
    345
    Puoi utilizzare le funzioni opendir() e readdir() per leggere i file della cartella.

    Codice PHP:
    $dir_thumb "./thumb/" // qui scrivi il percorso della cartella in cui risiedono le thumbnail
    $dir_img_nome "./immagini_grandi/" // qui scrivi il percorso della cartella in cui risiedono le immagini grandi

    // apre la cartella delle immagini
    $dir opendir($dir_img_nome);

    // legge i file presenti nella cartella delle immagini
    while ($file readdir($dir)) {
        if ( 
    $file == ".." || $file == "." || is_dir($file)) continue; // controlla che il file non sia una cartella
        
    $file_ext strtolower(substr(strrpos($file'.'), 1)); // legge l'estensione del file (puoi anche usare altri metodi più "eleganti" (se vuoi cerca su google)
        
    if ($file_ext == '.jpg' || $file_ext == '.jpeg')
            echo 
    '[url="'.$dir_img_nome.$file.'"][img]'.$dir_thumb.'thumb_'.$file.'[/img][/url]';
    }

    // chiude la cartella
    closedir($dir); 

  3. #3
    ho provato a fare la stessa cosa ma senza successo.
    probabilmente sbagliavo approccio avendo due directory distinte.
    provo e ti dico!

  4. #4
    questo è quello che ho scritto:
    Codice PHP:
            <?php
            $small 
    "gallery/pe2011/small/";
            
    $large "gallery/pe2011/large/";
            
    $dir opendir($large);
            while (
    $file readdir($dir)) {
                if (
    $file == ".." || $file == "." || is_dir($file)) {
                    continue;
                }
                
    $file_ext strtolower(substr(strrpos($file'.'), 1));
                if (
    $file_ext == '.jpg' || $file_ext == '.jpeg' || $file_ext == '.JPG' || $file_ext == '.JPEG') {
                    echo 
    '[*][url="' $large $file '"][img]' $small $file '[/img][/url]';
                }
            }
            
    closedir($dir);
            
    ?>
    le immagini nn si vedono però.
    il percorso della directory è giusto.

  5. #5
    Utente di HTML.it L'avatar di costi31
    Registrato dal
    Nov 2007
    Messaggi
    345
    Scusa ho sbagliato io, ho fatto un piccolo errore nel codice.

    Puoi correggere in 2 modi possibili:
    1) metti
    substr($file, -4)
    al posto di
    substr(strrpos($file, '.'), 1)

    2) oppure dove c'è
    if ($file_ext == '.jpg' || $file_ext == '.jpeg' || $file_ext == '.JPG' || $file_ext == '.JPEG') {
    metti invece
    if ($file_ext == 'jpg' || $file_ext == 'jpeg') {


    Meglio il primo.

  6. #6
    alla fine ho fatto cosi:
    Codice PHP:
            <?php
            $dirname 
    "gallery/pe2011/small/";
            
    $dirnameL "gallery/pe2011/large/";
            
    $images scandir($dirname);
            
    sort($images);
            foreach (
    $images as $file) {
                if ((
    substr($file, -5) == ".jpeg") || (substr($file, -4) == ".jpg") || (substr($file, -5) == ".JPEG") || (substr($file, -4) == ".JPG")) {
                    echo 
    '[*][url="' $dirnameL $file '"][img]' $dirname $file '[/img][/url]';
                }
            }
            
    ?>
    i file sono i due cartelle diverse, ma hanno lo stesso nome.
    visto che i file li upolodo io va bene così per ora.
    poi se cambio politica in futuro mi ci rimetterò.
    grazie!!!

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.