MOJA PASJA - PROGRAMOWANIE
   Dzisiaj jest Środa, 16 kwietnia, 2014r. 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.69/10 (140 głosów)
   
   Liczba komentarzy: 11783 (pokaż wszystkie)Skomentuj !   


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]


Autor: http://www.tempestarms.co.uk/room.htmlData dodania: 2013-11-30
Kenda Professional Cycling staff is hoping to utilise its new means to accomplish the successes which was from get to previous season. "We want NRC victories in crits and also to be competitive in all phase races. We would like to become in one or many of the [US] grand excursions," Thompson mentioned when it comes to his eyesight for up coming 12 months. "But, we usually are not foolish and we do not hope to carry out perfectly in California. There we would like to present our sponsors. We do need a phase acquire in Missouri. Most of all, we would like to acquire some bicycle races. We would like to become to the podium." http://www.tempestarms.co.uk/room.html http://www.tempestarms.co.uk/room.html [url=http://www.tempestarms.co.uk/room.html]http://www.tempestarms.co.uk/room.html[/url]


Autor: http://www.lycfoundation.org/classic.htmlData dodania: 2013-11-30
Kirwan capitalised, scoring earliest to jump into a 60 lead subsequent to 5 minutes which has a endeavor to centre Rhyse Martin before playmaker Danny White sparked a Keebra revival. They drew stage just minutes afterwards, with enormous prop Mosese Fotuaka barging his way around. http://www.lycfoundation.org/classic.html http://www.lycfoundation.org/classic.html [url=http://www.lycfoundation.org/classic.html]http://www.lycfoundation.org/classic.html[/url]


Autor: http://www.londoncornish.co.uk/usab.htmlData dodania: 2013-11-29
Flores parrot hangs inside harmony http://www.londoncornish.co.uk/usab.html http://www.londoncornish.co.uk/usab.html [url=http://www.londoncornish.co.uk/usab.html]http://www.londoncornish.co.uk/usab.html[/url]


Autor: http://www.plantsmanorhouse.co.uk/tese.htmlData dodania: 2013-11-29
Jas has absent great, she had a little challenges with undoubtedly one of her legs but in addition to that everything has fallen into destination, reported Clayton. http://www.plantsmanorhouse.co.uk/tese.html http://www.plantsmanorhouse.co.uk/tese.html [url=http://www.plantsmanorhouse.co.uk/tese.html]http://www.plantsmanorhouse.co.uk/tese.html[/url]


Autor: http://www.g-classcentre.co.uk/contack.htmlData dodania: 2013-11-29
Kerry, visiting an afterschool and summer months university course heart, claimed he would shell out an additional $1.five billion on afterschool programs. from repealing President Bush tax cuts for most people earning even more than $200,000 a year. http://www.g-classcentre.co.uk/contack.html http://www.g-classcentre.co.uk/contack.html [url=http://www.g-classcentre.co.uk/contack.html]http://www.g-classcentre.co.uk/contack.html[/url]


Autor: http://www.stpaulstadley.org.uk/wemen.htmlData dodania: 2013-11-29
Leasing plays a much bigger purpose, Loveless stated, specifically for the Sorento, Sportage and Optima. http://www.stpaulstadley.org.uk/wemen.html http://www.stpaulstadley.org.uk/wemen.html [url=http://www.stpaulstadley.org.uk/wemen.html]http://www.stpaulstadley.org.uk/wemen.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.342s