Visualizzazione dei risultati da 1 a 7 su 7

Discussione: problemi opendir

  1. #1

    problemi opendir

    Ciao ragazzi non sono molto pratico con il php però sto cercando di creare uno script che mi automatizzi l'utilizzo della galleria fotografia lightbox. In pratica ho lo script legge una cartella "immagini" e di questa cartella leggera tutte le sottocartelle che verranno considerate come album. Infine di ogni sottocartella saranno letti i file *.jpg.

    Il problema che ho è il seguente: il mio script legge la cartella principale e poi legge le sottocartelle ma non riesce ad aprirle. Potreste darmi una mano? Ecco lo script.

    <?php
    // Nome della cartella
    $car = 'immagini';
    // Opendir è la funzione per aprire la cartella
    $handle = opendir($car);
    $i = 1;
    // Ciclo la cartella
    while (false !== ($files = readdir($handle)))
    {
    $t = 0;
    $k = 1;
    // Stampo i file
    if ($files != '.' && $files != '..')
    {
    $i= $i +1;
    $subdir = $files;
    $subhandle = opendir($subdir);
    while (false !== ($subfiles = readdir($subhandle)))
    {
    if ($subfiles != '.' && $subfiles != '..')
    {
    $k = $k+1;
    $t = $t+1;
    echo '<a href="http://loclahost/prova/immagini/'.$subfiles.'" rel="lightbox['.$subdir.']" style="background: #000">';
    if ($t == 1)
    {
    echo '[img]immagini/'.$subfiles.'[/img]';
    }
    echo '</a>';
    }
    }
    }
    }
    ?>

    Grazie mille !!!
    http://www.fiombari.it
    http://www.as-salvatoretunno.it

  2. #2
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    io avevo risolto in questo modo :

    leggo la dir principale , leggo tutti i file facendomi stampare il tipo , quindi jpg,dvx,mpp3,dir

    poi ai dir gli ho messo un link che pemetteva si aprirle e navigarci dentro

  3. #3
    ciao innanzitutto grazie per la risposta, però non ho capito bene cosa intendi, potresti essere più chiaro? grazie ancora
    http://www.fiombari.it
    http://www.as-salvatoretunno.it

  4. #4
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    ho postato per sbaglio il codice che avevo preparato per l'apertura di cartelle figlio
    vai a vedere questo post
    ciao

  5. #5
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Raga php ha nuna bellissima funzione si chiama scandir !!! .

    Se volete leggere anche le sottodir allora bisogna partire con la ricorsione.

    una cosa del tipo

    Codice PHP:


    function dirTree ($dirPath )
    {
        
    // CASO BASE 
        
    if( !dir_exists($dirPath) )
            return;

        
    $tmp scanDir($dirPath) ;
        
    $str "" ;
        foreach( 
    $tmp as $v )
        {
            
    $str .= $v ;
            if( 
    is_dir($dirPath."/".$v) )
            {
                
    $str .= " - D" ;
                
    $str .= dirTree$dirPath."/".$v ) ;
            }
            else
            {
                
    $str .= " -F" ;
            }
        }

        return 
    $str ;


    O una cosa del genere.

  6. #6
    la funzione ricorsiva non è una brutta idea però non ne ho capito bene il funzionamento.
    Per l'uso che ne devo fare cmq il mio script è valido ho solo bisogno di capire perchè l'opendir($subfiles) non va nonostante legga i nomi delle singole sottocartelle.
    http://www.fiombari.it
    http://www.as-salvatoretunno.it

  7. #7
    ragazzi ho risolto era solo un problema di percorsi.
    Questo è lo script con cui ho reso lightbox diciamo automatizzato.
    In pratica nella cartella gallery ci sono tante sottocartelle ognuna delle quali è un album.
    lo script si occupa di visualizzarle. eccolo

    <?php
    // Nome della cartella
    $car = 'immagini';
    // Opendir è la funzione per aprire la cartella
    $handle = opendir($car);
    $i = 1;
    // Ciclo la cartella
    while (false !== ($files = readdir($handle)))
    {
    $t = 0;
    $k = 1;
    // Stampo i file
    if ($files != '.' && $files != '..')
    {
    $i= $i +1;
    $subdir = "";
    $subcar = $files;
    $subdir = "immagini/".$files;
    if (is_dir($subdir)){
    $subhandle = opendir($subdir);
    echo '<p align="center">';
    echo '<font color="#d2263c">'.$subcar.'</font>

    ';
    while (false !== ($subfiles = readdir($subhandle)))
    {
    //echo '<div id="prova"; background="http://localhost/prova/gallery/back.png">';
    if ($subfiles != '.' && $subfiles != '..')
    {
    $k = $k+1;
    $t = $t+1;
    echo '<a href="http://localhost/prova/gallery/immagini/'.$subcar.'/'.$subfiles.'" rel="lightbox['.$subcar.']" style="background: #000">';
    if ($t == 1)
    {
    echo '';
    }
    echo "</a> \n";
    }
    }
    echo "</p>\n";
    }
    }
    }
    ?>

    Grazie a tutti per le risposte ciaoooo...
    http://www.fiombari.it
    http://www.as-salvatoretunno.it

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.