Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: contenuto cartella

  1. #1

    contenuto cartella

    Ciao ragazzi, io avrei bisogno di leggere il contenuto della cratella ''album'' dove all'interno ho altre cratelle contenenti immagini. Mi serve un anteprima e cliccando sopra all'album vado a scorrere le immagini...come faccio?
    5ym0

  2. #2
    Sai programmare in PHP???
    Te lo chiedo perché questo forum non è nato come posto dove qualcuno arriva, chiede uno script, saluta e se ne va.

    Se vuoi una mano per sistemare un tuo script che non funziona è un conto ed una mano te la do' volentieri, altrimenti c'è la sezione SCRIPT del sito sicuramente con uno già bello e pronto che fa al caso tuo.

    Oppure c'è un forum "Cerco/Offro collaborazione" dove puoi chiedere a qualcuno se ti compila lo script che fa al caso tuo.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  3. #3
    Hai ragione è che non avendo mai fatto lavori su dir son un po' in difficoltà. Prendendo spunto da script qua e là son riuscito a buttar giù qualcosa ma non funziona niente..il codice ( anche se molto confuso ) è questo:

    Codice PHP:
    $collezione='';if(isset($_GET['collezione'])){$collezione=$_GET['collezione'];}

        echo 
    "<table width='850' border='0'>
               <tr><td valign='top' width='500' >[img]
    $im[/img]</td>
             <td valign='top' width='450' ><table width='400' border='0'>"
    ;

    if(
    $collezione == ''){
      echo 
    "<tr><td style='color:#85661f; font-size:0.9em' colspan='2'>[b]TUTTE LE COLLEZIONI[/b]</td></tr>";
      
    $dir="../public/";       
    if (
    is_dir($dir)) {
        if (
    $dh opendir($dir)) {
            while ((
    $file readdir($dh)) !== false) {
                if(
    $file!="." and $file!=".."){
                  
    //echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
                  
    $titolo="abiti/$file/titolo.txt";
                  if(
    file_exists($titolo)){
                    
    $contenuto file_get_contents($titolo);
                    echo 
    "<tr><td>";
                    include(
    "random.php");
                    echo 
    "</td><td style='font-size:0.7em;font-weight:bold;width:400;'>
                    [url='
    $PHP_SELF?collezione=$file']".$contenuto."[/url]</td></tr>";
                  }
                }
            }
            
    closedir($dh);
        }
    }
      echo 
    "</table></td></tr></table>";
    }else{
        
    $colonne=4;
        
    $num="0";
        
    $dir2="../public/$collezione/";
        if(
    is_dir($dir2)){
          if(
    $dh2=opendir($dir2)){
            while((
    $file2=readdir($dh2))!==false){
              if(
    $file2!="." and $file2!=".." and $file2!="Thumbs.db"){
                  
    $foto[$num]=$file2;
                  
    $num++;
              }  
            }    
            
    //echo count($foto);
            
    sort($foto);
            
            
             include(
    "elabora_img.php"); 
            
            
            
    $titolo="abiti/$collezione/titolo.txt";
            if(
    file_exists($titolo)){
                
    $contenuto file_get_contents($titolo);
                echo 
    "<tr><td style='font-size:0.7em;font-weight:bold;color:#85661f;' colspan='4'>$contenuto

    </td></tr>"
    ;
            }    
            
             

                            
    /*********** PAGINAZIONE  *************/
                            
    $tot_records count($foto);
                            
    //echo "$tot_records
    ";

                            // risultati per pagina(secondo parametro di LIMIT)
                            
    $per_page ="20";

                            
    $tot_pages = ceil($tot_records / $per_page);

                            // pagina corrente
                            
    $current_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];

                            // primo parametro di LIMIT
                            
    $primo = ($current_page - 1) * $per_page;

                            include ('comp/paginazione.php');

                            //echo "
    tot$lungh_array
    ";
                            //echo "
    start$primo
    ";

                            if (
    $page) {
                                
    $per_page$per_page*$page;
                            }
                
                for(
    $i=$primo;$i<$per_page;$i++){    
                  if( 
    $foto[$i] and $foto[$i]!='small' and $foto[$i]!='big' and $foto[$i]!='titolo.txt'){
                 
                 
                  if(
    $i % $colonne==0){
                            echo "
    <tr>\n";
                        }
                        echo "
    <td>[url='$PHP_SELF?im=$foto[$i]&amp;collezione=$collezione&amp;page=$current_page'][img]$dir2/small/$foto[$i][/img][/url]</td>";
                      
                        if(
    $i % $colonne==($colonne - 1)|| ($i+1)==$tot_records){
                         echo "
    </tr>\n";
                    }
                    }
              }
              
              echo "
    <tr><td style='font-size:0.7em;color:#85661f;' colspan='4'>".$paginazione."</td></tr>";
              
          }
        }
        
        
        echo "
    </table></td></tr><tr><td></td><td >
              [
    url='$PHP_SELF']&lt;&ltTutte le collezioni[/url]</td></tr></table>";
        

    5ym0

  4. #4
    Ho fatto un po' di pasis avanti sistemando un po' il codice, però ho bisogno una mano aiutatemi per favore! Vi posto tutto.

    galleria.php:
    Codice PHP:
    if($album == '')
    {
        echo 
    "<table width='600' border='0' cellspacing='5' cellpadding='5'>
           <tr><td style='color:#85661f;font-size:0.9em' align='center' colspan='4'>[b]FOTO GALLERY[/b]

    </td></tr>"
    ;
          
    $dir="../public/gallery/";  
          
    $colonne=2
          
    $n=0;   
          if (
    is_dir($dir))
        {
            if (
    $dh opendir($dir))
            {
                while ((
    $file readdir($dh)) !== false)
                {
                    if(
    $file!="." and $file!="..")
                    {
                          
    //echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
                          
    $album[$n]=$file;
                          
    $n++;
                    }
                }
                for(
    $i=0;$i<count($album);$i++)
                { 
                    include(
    "elabora_img_gal.php");
                   
    //    $tit="$dir$album[$i]/titolo.txt";
                       // echo $tit;
                     //if(file_exists($tit))
                    //{
                        //$contenuto = file_get_contents($tit);
                        
    if($i $colonne==0)
                        {
                              echo 
    "<tr>\n";
                         }
                        echo 
    "<td>";
                        include(
    "random_foto.php");
                        echo 
    "</td><td style='font-size:0.7em;font-weight:bold;width:400;'>
                        [url='
    $PHP_SELF?album=$album[$i]']".$contenuto."[/url]</td>";
                           if(
    $i $colonne == ($colonne 1) || ($i+1) == count($album))
                        {
                               echo 
    "</tr>\n";
                          }
                       
    //}
                     //else
                     //{
                     //echo "errore";
                     //}      
                
    }
            
    closedir($dh);
        }
      }
      echo 
    "</table>";          

    }
    else
    {
        echo 
    "<table width='850' border='0'>
               <tr><td valign='top' width='650' >[img]
    $im[/img]</td><td valign='top' width='400' >                       <table width='400' border='0'>";

        
    $colonne=4;
        
    $num="0";
        
    $dir2="../public/gallery/$album/";
        if(
    is_dir($dir2))
        {
            if(
    $dh2=opendir($dir2))
              {
                  while((
    $file2=readdir($dh2))!==false)
                {
                    if(
    $file2!="." and $file2!=".." and $file2!="Thumbs.db" and $file2!="titolo.txt" and $file2!="big" and $file2!="small")
                    {
                    
    $foto[$num]=$file2;
                    
    $num++;
                      }  
                }    
                
    //echo count($foto);
                
    sort($foto);

                
    $titolo="gallery/$album/titolo.txt";
                
    //if(file_exists($titolo))
                //{
                    
    $contenuto file_get_contents($titolo);
                    echo 
    "<tr><td style='font-size:0.7em;font-weight:bold;color:#85661f;' colspan='4'>$contenuto

    </td></tr>"
    ;
                
    //}    

                            /*********** PAGINAZIONE  *************/
                            
    $tot_records count($foto);
                        
    //echo "$tot_records
    ";

                            // risultati per pagina(secondo parametro di LIMIT)
                            
    $per_page ="20";

                            
    $tot_pages = ceil($tot_records / $per_page);

                            // pagina corrente
                            
    $current_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];

                            // primo parametro di LIMIT
                            
    $primo = ($current_page - 1) * $per_page;

                            include ('comp/paginazione_gal.php');

                            //echo "
    tot$lungh_array
    ";
                            //echo "
    start$primo
    ";

                            if (
    $page) {
                                
    $per_page$per_page*$page;
                            }
                
                for(
    $i=$primo;$i<$per_page;$i++){    
                  if( 
    $foto[$i] and $foto[$i]!='small' and $foto[$i]!='big' and $foto[$i]!='titolo.txt'){
                 
                 
                  if(
    $i % $colonne==0){
                            echo "
    <tr>\n";
                        }
                        echo "
    <td>[url='$PHP_SELF?im=$foto[$i]&amp;album=$album&amp;page=$current_page'][img]$dir2/small/$foto[$i][/img][/url]</td>";
                      
                        if(
    $i % $colonne == ($colonne - 1) || ($i+1) == $tot_records){
                         echo "
    </tr>\n";
                    }
                    }
              }
              
              echo "
    <tr><td style='font-size:0.7em;color:#85661f;' colspan='4'>".$paginazione."</td></tr>";
              
          }
        }
        
        
        echo "
    </table></td></tr><tr><td></td><td >
              [
    url='$PHP_SELF']&lt;&ltTutti gli album[/url]</td></tr></table>";


    closedir(
    $dh2);

    elabora_img_gal.php:

    Codice PHP:
                                /******** MINIATURA BIG **********/

              
    $q=0;
              
    //echo $album[$i]."
    ";
              
    $dir2="../public/gallery/$album[$i]/";
              
    $big="../public/gallery/$album[$i]/big";
              
    $small="../public/gallery/$album[$i]/small";
              
              if(!file_exists(
    $big)){
                      @mkdir("
    $big", 0777);
              }
              if(!file_exists(
    $small)){
                      @mkdir("
    $small", 0777);
              }
              
              if (is_dir(
    $dir2)) {
                if (
    $dh2 = opendir($dir2)) {
                    while ((
    $file2 = readdir($dh2)) !== false) {
                        if(
    $file2!="." and $file2!=".." and $file2!="small" and $file2!="big" and $file2!="Thumbs.db" and $file2!="titolo.txt"){
                          
    $foto[$q]=$file2;
                          
    $q++;
                        }
                        
                    }
                    
                     //echo 
    $album[$i]."-".count($foto)."
    ";
                    for(
    $r=0;$r<count($foto);$r++){
                      
    $bigfilename="$dir2$foto[$r]";
                      
    $filenameb=$dir2."big/$foto[$r]";
                      
    $filename = $dir2."small/$foto[$r]";
                      //echo 
    $foto[$r]."
    ";
                      if (!file_exists(
    $filenameb)) {

    .....dimensiono immagini
              
              
    $foto=array(); 
    e infine random_poto.php:

    Codice PHP:
    //echo $album[$i];

    $small="../public/gallery/".$album[$i]."/small/";
    $origini="../public/gallery/".$album[$i]."/";
    $s=0;
    if(
    file_exists($small)){
      
    $mina=array();
      if(
    $cartopendir($small)){
        while ((
    $min readdir($cart)) !== false) {
             if(
    $min!="." and $min!=".." and $min!='Thumbs.db'){
                
    $mina[$s]=$min;
                
    $s++;
            }
        }
        if(
    count($mina)==0){
          echo 
    "problemi";
        }else{
           
    $indice=rand(0,(count($immagini)-1));
           
    $pat=$small.$mina[$indice];
           
    //echo $pat;
           
    echo "[img]$pat[/img]";
        }
        
        
      }else{
          echo 
    "Attenzione, impossibile aprire la cartella ".$small;
      }


    }else{
      
    $mina=array();
        if(
    $cartopendir($origini)){
        while ((
    $min readdir($cart)) !== false) {
             if(
    $min!="." and $min!=".." and $min!='Thumbs.db'){
                
    $mina[$s]=$min;
                
    $s++;
            }
        }
        if(
    count($mina)==0){
          echo 
    "problemi";
        }else{
           
    $indice=rand(0,(count($immagini)-1));
           
    $pat=$small.$mina[$indice];
           
    //echo $pat;
           
    echo "[img]$pat[/img]";
        }   
      }else{
        echo 
    "Attenzione, impossibile aprire la cartella ".$origini;
      }

    Allo stato attuale mi fa le miniature degli album, ma non riesco a cliccarci sopra per poter sfogliare l'album...up!
    5ym0

  5. #5
    Ciao
    non so se può aiutarti ma potresti usare jalbum
    o almeno una parte del codice
    ciao

  6. #6
    Originariamente inviato da Symon83
    Prendendo spunto da script qua e là son riuscito a buttar giù qualcosa ma non funziona niente..il codice ( anche se molto confuso ) è questo.....
    Scusa se rispondo solo oggi, ma non ho proprio avuto tempo di accedere al forum.
    Non mi va di sembrare pedante, ma hai scritto una vagonata di codice senza specificare quale sia l'errore.
    Hai un messaggio di errore?
    Cos'è dovrebbe eseguire lo script, e che invece non funziona?
    Non si visualizzano le thumbnails???

    Se posso darti un consiglio, poi, ragiona per step.
    Scopiazzando di qua e di la, si inseriscono in uno script tante belle cose, poi magari non funzionano le funzioni di base e tutto lo script sembra non funzionare.

    Ragioniamo per step, quindi.
    Lo script apre una cartella dove dovrebbero esserci immagini.
    Manda in echo (semplicemente) i nomi delle immagini e delle miniature.
    Se questo step funziona, allora passa al successivo, cioè la visualizzazione delle immagini stesse.
    Solo in ultimo, inserisci il layout e tutto l'HTML.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  7. #7
    Ok, parto allora dal primo pezzo..

    Codice PHP:
    <?
          
    //scelgo la directory dove inserirò gli album
          
    $dir="../public/gallery/";  
          
            
    $colonne=2
          
    $n=0;   
          
            if (
    is_dir($dir))
        {
            if (
    $dh opendir($dir))
            {
                while ((
    $file readdir($dh)) != false)
                {
                    if(
    $file != "." and $file != "..")
                    {
                          
    $album[$n]=$file;
                          
    $n++;
                    }
                }
                
                     for(
    $i=0;$i<count($album);$i++)
            { 
                    
    //creo due cartelle ''big'' e ''small'' dove inserisco le miniature e le foto grandi
                    
    include("elabora_img_gal.php");
                          
                          
    //nella cartella principale dell'album metto un txt che sarà poi il titolo dell'album
                           
    $tit="$dir$album[$i]/titolo.txt";
                       echo 
    $tit;
                        
    $contenuto file_get_contents($tit);
                        if(
    $i $colonne==0)
                        {
                              echo 
    "<tr>\n";
                         }
                        echo 
    "<td>";
                        
                            
    //qui è dove ho problemi su queste due righe
                            
    include("random_foto.php");            
    echo 
    "[url='$PHP_SELF?album=$album[$i]']".$contenuto."[/url]";
                           
                                    if(
    $i $colonne == ($colonne 1) || ($i+1) == count($album))
                        {
                               echo 
    "</tr>\n";
                          }
                }
            
    closedir($dh);
        }
      }
    Allora con questo codice vedo correttamente il riepilo degli album con la loro miniatura e il titolo che pesca dal txt. Quando clicco sul titolo per entrare nell'album il link che richiama è questo per esempio:

    http://www.miosito.com/test/galleria.php?album=auto

    gli errori che stampa sono questi:

    ../public/gallery/a/titolo.txt
    Warning: file_get_contents(../public/gallery/a/titolo.txt) [function.file-get-contents]: failed to open stream: No such file or directory in D:\Inetpub\webs\miosito\test\galleria.php on line 26

    Warning: opendir(../public/gallery/a/) [function.opendir]: failed to open dir: No such file or directory in D:\Inetpub\webs\miosito\test\random_foto.php on line 33
    Attenzione, impossibile aprire la cartella ../public/gallery/a/

    nel primo errore mi da errore su qua
    $contenuto = file_get_contents($tit);
    che non capisco perchè lo va a cercare sotto
    ../public/gallery/a/titolo.txt

    per il secondo errrore il codice è questo in random_foto.php
    Codice PHP:
    $small="../public/gallery/".$album[$i]."/small/";
    $origini="../public/gallery/".$album[$i]."/";
    $s=0;
    if(
    file_exists($small)){
      
    $mina=array();
      if(
    $cartopendir($small)){
        while ((
    $min readdir($cart)) !== false) {
             if(
    $min!="." and $min!=".." and $min!='Thumbs.db'){
                
    $mina[$s]=$min;
                
    $s++;
            }
        }
        if(
    count($mina)==0){
          echo 
    "problemi";
        }else{
           
    $indice=rand(0,(count($immagini)-1));
           
    $pat=$small.$mina[$indice];
           
    //echo $pat;
           
    echo "[img]$pat[/img]";
        }
        
        
      }else{
          echo 
    "Attenzione, impossibile aprire la cartella ".$small;
      }


    }else{
      
    $mina=array();
        if(
    $cartopendir($origini)){  // RIGA D'ERRORE 
        
    while (($min readdir($cart)) !== false) {
             if(
    $min!="." and $min!=".." and $min!='Thumbs.db'){
                
    $mina[$s]=$min;
                
    $s++;
            }
        }
        if(
    count($mina)==0){
          echo 
    "problemi";
        }else{
           
    $indice=rand(0,(count($immagini)-1));
           
    $pat=$small.$mina[$indice];
           
    //echo $pat;
           
    echo "[img]$pat[/img]";
        }   
      }else{
        echo 
    "Attenzione, impossibile aprire la cartella ".$origini;  //ERRRORE STAMPATO
      
    }

    Riesci ad aiutarmi pe rfavore? grazie
    5ym0

  8. #8
    Non hai fatto proprio come ti ha (giustamente) suggerito alcio
    In quel codice c'e' un sacco di roba in piu' del minimo necessario ed e' difficile capire quale sia il problema senza avere sotto mano la tua struttura delle directory: dagli errori e' evidente che ci sono problemi coi path, ma dire esattamente quali e' dura con informazioni parziali.

    Inoltre una cosa sicuramente da rivedere e' il fatto che includi un sacco di volte gli stessi file, se devi compiere piu' volte le stesse operazioni, non fare mille include: nei file esterni crei delle funzioni, includi i file UNA volta e poi chiami le funzioni tutte le volte che vuoi.

  9. #9
    Scusa ma dov'è che includo più volte gli stessi file, a cosa ti riferisci?
    5ym0

  10. #10
    Hai due include all'interno di un ciclo for, quindi vengono inclusi per ogni file che elabori.

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.