MOJA PASJA - PROGRAMOWANIE
   Dzisiaj jest Sobota, 4 lutego, 2012r. Ostatnia aktualzacja miała miejsce: 10 grudnia 2006r. Homepage

Programowanie: Artykuły * FAQ * Download * Komponenty * Książki WWW: Artykuły * Narzędzia * Kursy * Darmowe * FAQ * Skrypty * Ksiązki Off-Topic: Aforyzmy * Humor Inne: Forum * Wiki * Liczniki * Linki * Chat * Grafika * Video * Inne



Galeria zdjęć




   Założenie

   Mamy na serwerze folder "./fotosy", do którego dodajemy sukcesywnie nowe pliki w formacie jpg/jpeg. Chcemy stworzyć skrypt "./install.php", który po uruchomieniu sprawdzi zawartość folderu, stworzy w nim miniaturki "./fotosy/min_xxxxxx.jpeg" oraz plik "./fotosy/dane.txt" zawierający ich nazwy i rozmiary. Potrzebny nam będzie także plik "./index.php", który na podstawie pliku "./fotosy/dane.txt" wyświetli małe zdjęcia w postaci link'ów do dużych. Będzie on wykorzystywał JavaScript w celu otworzenia zdjęcia w nowym oknie dopasowanym do jego rozmiarów.

   Uwagi

   Użyte w przykładzie funkcje obsługiwane są przez wersje PHP 3 >= 3.0.16 oraz PHP 4 >= 4.0.0

   Powodem nie działania skryptu mogą być niewłaściwe prawa dostępu ustawione na ten że skrypt folder ze zdjęciami czy same zdjęcia.

   Jeżeli w folderze znajdzie się zbyt dużo nowych zdjęć z których mają zostać utworzone miniaturki to czas wykonywania takiej operacji może przekroczyć limit 30 sekund przydzielonych na wykonanie skryptu na serwerze.

   Plik: install.php


<?

$fol
= "./fotosy"; // folder ze zdjęciami
$prfx = "min_"; // prefix poprzedzający nazwy miniaturek
$i = 0;

$naz = array();
$dane = @file($fol."/dane.txt");
if(
is_array($dane)) foreach($dane as $v) {
  
$t = explode("|", $v);
  
$naz[] = $t[0];
}

$uchwyt = opendir($fol);
while(
false !== ($plik = readdir($uchwyt)))
  if(
is_file($fol."/".$plik) &&
  (!
is_file($fol."/".$prfx.$plik) || !in_array($plik, $naz)) &&
   
substr($plik, 0, strlen($prfx)) != $prfx &&
   
ereg("^.+\.jpe?g$", $plik)) {
    
$org = imagecreatefromjpeg($fol."/".$plik);
    
$s_org = imagesx($org);
    
$w_org = imagesy($org);
    
$s_min = 100;
    if((
$w_min = floor(($s_min * $w_org) / $s_org)) > 150) $w_min = 150;
    
$min = imagecreate($s_min, $w_min);
    
imagecopyresized($min, $org, 0, 0, 0, 0, $s_min, $w_min, $s_org, $w_org);
    
imagedestroy($org);
    
imagejpeg($min, $fol."/".$prfx.$plik, 50);
    
imagedestroy($min);
    if(
in_array($plik, $naz)) unset($dane[array_search($plik, $naz)]);
    
$dane[] = "$plik|$s_org|$w_org|$prfx$plik|$s_min|$w_min\n";
    
$i++;
}
closedir($uchwyt);


$fp = fopen($fol."/dane.txt", "w");
flock($fp, 2);
fputs($fp, str_replace("\r", "", join("", $dane)));
flock($fp, 2);
fclose($fp);

echo
"Ilość utworzonych miniaturek: ".$i;

?>

   Plik: index.php


<html>
<head>
<script type="text/javascript">
<!--

function okno(p,s,w) {
  w=open('','','width='+s+',height='+w);
  with(w.document) {
   write('<html><head><title>'+p+'</title></head><body background="'+p+'"');
   write(' onMousedown="self.close()"></body></html>');
   close();
  }
}

//-->
</script>
</head>
<body bgcolor="#008000">
<table align="center">
<tr><td valign="top"><?

$ile
= 4; //ilość zdjęć w jednym wierszu tabeli
$fol = "./fotosy"; //folder ze zdjęciami
$i = 1;
$dane = @file($fol."/dane.txt");
if(
is_array($dane))
  foreach(
$dane as $v) {
   
$d = explode("|", chop($v));
   echo
"<a href=\"$fol/$d[0]\" onClick=\"okno('$fol/$d[0]',$d[1],$d[2]); return false\">".
      
"<img src=\"$fol/$d[3]\" width=\"$d[4]\" height=\"$d[5]\"></a>".
      (
$i == $ile ? "</td></tr><tr><td valign=\"top\">" : "</td><td valign=\"top\">")."\n";
   
$i < $ile ? $i++ : $i = 1;
  }

?></td></tr>
</table>
</body>
</html>

   Zaprezentowane tu rozwiązania są przykładowe i należy je dostosować do własnych potrzeb.



   Wasze opinie:
   Średnia ocena: 5.62/10 (138 głosów)
   
   Liczba komentarzy: 11703 (pokaż wszystkie)Skomentuj !   


Autor: srebroData dodania: 2011-09-28
Nawet przydało mi się to co piszesz, właśnie szukałem jak zrobić galerię. srebro


Autor: hCGCiygbHcJmaData dodania: 2009-03-22
yirglpfx, acheter viagra, rznythyl, cialis online, pnqtciyc, cialis kaufen, mnihooko, goedkope viagra, lepgzwyr,


Autor: iKKGVadMXZiubfvaTOData dodania: 2009-03-22
qulakpjj, achat viagra, uxiwzenw, buy cheaper cialis, bxrfrsbt, cialis kaufen, beozshxb, viagra bstellen, uylwbjin,


Autor: ekKHGGsndmieData dodania: 2009-03-22
cmgaousk, cialis bestellen, spexmzke, viagra, kyvloyiq, cialis online, qpomiycl, achat cialis, ydumyeod,


Autor: phentermine lowest pricesData dodania: 2009-03-22
3 phentermine lowest prices or from tramadol buy dreampharm or viagra cholesteral or viagra tarket market or buying phentermine online or ski silverton viagra or phentermine online doctor consult or generic viagra trial pack or tramadol cheapest us price buy online or tramadol snorting or tramadol causes apathy or cheap cialis si or no perscription needed phentermine 37.5 or adipex barato or tramadol lethal level or xanax pacastan or ingredients of tramadol or tramadol paracetamol dolcet side effects or tramadol side effects interactions or tramadol and seizures or phentermine and depression or phentermine federal express or difference between ibuprofen and tramadol or drug tramadol apap or tramadol free prescription missouri or phentermine with free shipping or adipex buy online or aspergers xanax or cialis brands or viagra oral jelly or buy xanax without prescription or tramadol and cymbalta or tramadol 377 or cheap gerneric viagra or tramadol large quantity or is phentermine legal in ohio or phentermine online canada or buy tramadol florida or cod delivery adipex or side effects of tramadol or discount adipex or watermellon viagra or tramadol mg or dosage for xanax xr or 100mg tramadol 300 or snorting adipex or cialis icos lilly or easy to get adipex p or phentermine online href buy or lowest priced phentermine or


Autor: phentermine own search meta search engineData dodania: 2009-03-22
4 phentermine own search meta search engine or adipex rx or tramadol order or order adipex pills or adipex weight loss drug or phentermine over night or phentermine without a perscription or phentermine without a presription or next day phentermine no prior prescription or adipex online pharmacy online pharmacy or order phentermine online pharmacy you or pill cutter cialis or xanax overnight fedex or cialis zestril interactions or diet pill phentermine no fees or can i get a viagra today or women viagra or tramadol general action or cheap phentermine 37.5mg or viagra by phone or buy tramadol to treat your pain or tramadol recipe or buy drug without a prescription adipex or cialis therapy after prostatectomy or cialis new york or catalog phentermine no prescription or purchasing phentermine with mastercard or tramadol and anti parkinson meds or phentermine phentramine or cialis 20 mg discoun or tramadol dosage or tramadol cod no prior script or lorazepam and xanax or cialis canadian pharmacy or side effects from tramadol on dogs or buy phentermine mastercard or buying discout phentermine online or reliable phentermine pharmacies or tramadol prescribing or 24 7 phentermine or viagra testomony or phentermine typical weight loss or phentermine blue white 37.5mg or tramadol s or k25 phentermine or tramadol free fedex cheap no rx or non fda tramadol or what is therapuetic level of tramadol or generic cialis from india warning or cheap viagra from pfizer or


Autor: FZLYrLyTjiData dodania: 2009-03-22
zfwzkxbw, compra viagra, pgzyzbmy, cialis, hlffdgbj, compra viagra, fghcmrtg, cialis, yphuceib,



Stronę przygotował: Kacper Cieśla (comboy). Wszelkie prawa zastrzeżone.
Reklama * Zgłoś błąd * Kontakt * Hosting * O stronie * Sponsoring
Czas generowania strony: 5.202s