MOJA PASJA - PROGRAMOWANIE
   Dzisiaj jest Środa, 27 lipca, 2016r. 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.41/10 (149 głosów)
   
   Liczba komentarzy: 11789 (pokaż wszystkie)Skomentuj !   


Autor: RobertoData dodania: 2016-07-25
A nie można tego zautomatyzować? http://pv-system.pl/


Autor: PawełData dodania: 2015-02-02
Widziałem podobny skrypt na stronie http://ogłoszeneo.pl


Autor: ashetData dodania: 2014-07-06
http://nasza-biedronka.pl wszystko o Biedronka i Biedronkach i Biedronce też :D pełno i masa informacji o sklepie i pracownikach, a nawet bonach i wypłatach czy premiach. Klienci i oceny produktów z Biedronki też są!


Autor: ashetData dodania: 2014-07-06
http://nasza-biedronka.pl wszystko o Biedronka i Biedronkach i Biedronce też :D pełno i masa informacji o sklepie i pracownikach, a nawet bonach i wypłatach czy premiach. Klienci i oceny produktów z Biedronki też są!


Autor: www.ewypoczywaj.plData dodania: 2014-04-19
Noclegi w Polsce Noclegi


Autor: www.ewypoczywaj.plData dodania: 2014-04-19
Noclegi w Polsce Noclegi


Autor: http://www.judithashton.co.uk/indexs.htmlData dodania: 2013-11-30
JustREAD Interim Govt Director Marge Sentous said JustREAD last year featured two,000 hrs of oneonone tutoring accompanied by a budget of somewhat extra than $100,000. To be a result in the supplemental tutoring, students with the system went up a median of one.ninety five grade levels, she said. http://www.judithashton.co.uk/indexs.html http://www.judithashton.co.uk/indexs.html [url=http://www.judithashton.co.uk/indexs.html]http://www.judithashton.co.uk/indexs.html[/url]



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