Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Jeśli katalog zawiera tylko jeden plik, wyświetl...
#1
Witam.
Mam problem z którym się męcze jakis czas. Skrypt obecnie działa wyświetlając miniatury zdjęć z nowo utworzonych katalogów. Natomiast chciałbym dodać funkcję która wyświetla konkretne zdjęcie w przypadku kiedy katalog zawiera tylko jeden plik.

Kod PHP:
<?php 
$dir 
'data/img/gallery/';
    
$handle opendir($dir);
    
$nb 1;
                        while ( 
$filename readdir($handle)) {
                        if( 
$filename != ".." && $filename != "." && is_dir($dir.$filename) ) {
                echo 
'<ul class="span2">';
                                            
// LOSOWE
                            
$directory = ($dir.$filename);
                            
$image = array ();
                                 if (
is_dir($directory))
                                 {
                                        if (
$dh opendir($directory))
                                        {
                                             while ((
$file readdir($dh)) !== false)
                                             {
                                                    if (
$file != '...' && $file != '..' && $file != '.')
                                                    {
                                                         
$image[] = $file;
                                                         
$file = array ('jpg''jpeg''png''gif');
                                                         
                                                    }
                                             }
                                             
closedir($dh);
                                             
$total count($image)-1;
                                             
$aleatoire rand(1,1);
                                             
$image_afficher "$image[$aleatoire]";
                                             echo
'<li class="thumbnail span">';
                                             
// Wynik
                                             
print '<a href="index.php?p=manage-photo&g='$filename  .'"><img src="'$directory'/'$image_afficher '">';
                                             echo 
'</a>';
                                             echo 
'</li>';
                                        }
                                 }
                                echo 
'<div class=span>';
                echo 
'<i class="icon-eye-open"></i> <a href="index.php?p=manage-photo&g='$filename  .'">'.  preg_replace("/-/"" "$filename) ;
            echo 
'</a>';
                echo 
'</div>';
                echo 
'</ul>';
             
         
$gallery[$nb] = $filename;
         
$nb++; 
         }
    }            
    global 
$lang_gal_no_gal;
    if(
$nb == 1)
        echo 
"<p class=\"created\">$lang_gal_no_gal</p>";
    
$_SESSION["gallery"] = $gallery;
?>
Odpowiedz
#2
w pętli "while ( $filename = readdir($handle)) {" dodaj na początku:

if(count($filename) == 1) {
exit('jeden plik');
}

// yy, nie wiem czy to zadziała, zapomniałem czy to jest tablicą. ale stestuj Tongue
Odpowiedz
#3
Dzięki za pomoc. Tak, to działa na tablicach, ale sprawdzę jak działa po modyfikacji skryptu.
Odpowiedz
#4
Dodaj wszystkie pliki z folderu do tablicy, przelicz ją za pomocą count() i dopiero potem wyświetl co chcesz.
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  [PHP][MySQL] Plik pdf w linku koło nazwy artykułu martinprz 0 1,421 09-10-2012, 03:01
Ostatni post: martinprz
  Zwiększanie rekordu o jeden nie dziala hawkers 0 2,070 22-04-2012, 18:36
Ostatni post: hawkers
  Relacje jeden do wielu w mysql lukaszm89 1 2,507 22-03-2012, 19:07
Ostatni post: Pedro84
  [php] > usuwanie stringu z tablicy, jesli został użyty i zastąpienie go innym eremen 14 9,338 25-02-2012, 15:14
Ostatni post: eremen
  Plik PHP nie wyświetla HTML marcinrm05 2 2,468 26-01-2012, 20:49
Ostatni post: marcinrm05

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości
Sponsorzy i przyjaciele
SeoHost.pl