krokos.net.pl
Masz wyłączoną obsługę javascript, niektóre funkcje na stronie mogą działać nieprawidłowo
28.03.2024
Aniela, Kasrot, Sonia, Jan, Antoni, Krzesisław, Sykstus
dziś jest : 88 dzień roku wschód słońca o : 5:30 , zachód o : 18:09 koniec roku za : 277 dni
Programowanie PHP - Losowe Foto Z Określonych Folderów
Tej klasy możemy użyć do wyświetlenia losowego zdjecia. Konfiguracja pozwala wybrać dozwolone formaty ($extimg) w postaci tablicy, oraz wybrane foldery ($lokalizacja) z których będą losowane zdjęcia. Możemy ustawić również rodzaj ($rm) losowanych zdjęć (długość > szerokość, lub długość < szerokość). Dodatkowe zmienne ustalają rozmiary wyświetlanego zdjęcia ($wimg i $himg), oraz ewentualne obramowanie ($border).
CODE : php
  1. /**
  2.  * random image from folder or folders
  3.  * copyright : (c) 2014 Andrzej Krokos
  4.  * version PHP : 5
  5.  * author : shreker983@gmail.com
  6.  * licence : GPL
  7.  *
  8. */
  9.  
  10. class randimage
  11. {
  12.     // set data
  13.     function setdata($lokalizacja, $extimg, $rm, $wimg, $himg, $border, $title)
  14.     {
  15.         if (empty($lokalizacja))
  16.         {
  17.             $this->lokalizacja = array('.'); // default localization
  18.         }
  19.         else
  20.         {
  21.             $this->lokalizacja = $lokalizacja;
  22.         }
  23.         if (empty($extimg))
  24.         {
  25.             $this->extimg = array('jpg', 'jpeg', 'gif'); // default extension
  26.         }
  27.         else
  28.         {
  29.             $this->extimg = $extimg;
  30.         }
  31.         if (empty($rm))
  32.         {
  33.             $this->rm = 'ver'; // default location
  34.         }
  35.         else
  36.         {
  37.             $this->rm = $rm;
  38.         }
  39.         if (empty($wimg))
  40.         {
  41.             $this->wimg = 200; // default width
  42.         }
  43.         else
  44.         {
  45.             $this->wimg = $wimg;
  46.         }
  47.         if (empty($himg))
  48.         {
  49.             $this->himg = 150; // default height
  50.         }
  51.         else
  52.         {
  53.             $this->himg = $himg;
  54.         }
  55.         if (empty($border))
  56.         {
  57.             $this->border = 0; // default border
  58.         }
  59.         else
  60.         {
  61.             $this->border = $border;
  62.         }
  63.         if (empty($title))
  64.         {
  65.             $this->title = 'random image'; // default title foto
  66.         }
  67.         else
  68.         {
  69.             $this->title = $title;
  70.         }
  71.     }
  72.     // show foto
  73.     function losfoto()
  74.     {
  75.         $init = false;
  76.         foreach($this->lokalizacja as $value)
  77.         {
  78.                if (!is_dir($value))
  79.             {
  80.                 echo '<center><p style="font-family: arial; color: red; font-size: 12px; font-weight: bold;">selected folder ( '.$value.' ) does not exist !</p></center>';
  81.             }
  82.             else
  83.             {
  84.                 if($init == false)
  85.                 {
  86.                     $listimg = glob('./{'.implode(',', $this->lokalizacja).'}/*.{'.implode(',', array_unique(array_map('strtolower', $this->extimg))).'}', GLOB_BRACE);
  87.                     natsort($listimg);
  88.                     asort($listimg);
  89.                     foreach($listimg as $plik)
  90.                     {                
  91.                         $check = getimagesize($plik);
  92.                         if ($this->rm == 'ver')
  93.                         {                
  94.                             if ($check[0] > $check[1] and $check[0] >= $this->wimg)
  95.                             {
  96.                                 $tabplik[] = $plik;        
  97.                             }
  98.                         }            
  99.                         else if ($this->rm == 'hor')
  100.                         {                
  101.                             if ($check[0] < $check[1] and $check[0] >= $this->wimg)
  102.                             {
  103.                                 $tabplik[] = $plik;        
  104.                             }
  105.                         }
  106.                     }
  107.                     if (empty($tabplik))
  108.                     {
  109.                         echo '<center><p style="font-family: arial; color: red; font-size: 12px; font-weight: bold;">no files in the selected folder !</p></center>';
  110.                     }
  111.                     else
  112.                     {
  113.                         srand ((float) microtime() * 10000000);
  114.                         $img = $tabplik[array_rand($tabplik)];
  115.                         $check = getimagesize($img);
  116.                         if ($check[2] == 2)
  117.                         {
  118.                             echo '<img src="'.$img.'" width="'.$this->wimg.'" height="'.$this->himg.'" border="'.$this->border.'px" title="'.$this->title.'" alt="'.$this->title.'">';
  119.                         }
  120.                         else
  121.                         {
  122.                             echo '<center><p style="font-family: arial; color: red; font-size: 12px; font-weight: bold;">no files in the selected folder !</p></center>';
  123.                         }
  124.                     }
  125.                     $init = true;
  126.                 }
  127.             }
  128.         }    
  129.     }
  130. }
  131.  
  132. // example
  133. $gf = new randimage();
  134. // localization (array), extension (array), location, width, height, border, title
  135. $gf->setdata(array('image'), array('jpg', 'jpeg'), 'ver', 240, 177, 1, 'random foto');
  136. $gf->losfoto();
pobierz plik ( rozmiar : 1.26 kB )
ocena : 4.2(oddano : 12 głosów)
online : 3 użytkowników, dziś odwiedziło : 79 osób
Zgodnie z nowelizacją ustawy o Prawie Telekomunikacyjnym informujemy, że strona krokos.net.pl w swoim działaniu korzysta z zapisywanych informacji w postaci ciasteczek (ang. cookies).
Pomagam - Fundacja TVN
powered by scms © 2004 - 2024 design by sid