wyświetlanie losowego obrazka z losowego folderu.
<?php
$folder = opendir(obrazki);
$i = 0;
while(false !=($plik = readdir($folder))){
if($plik != "." && $plik != ".."){
$obrazki[$i]= $plik;
$i++;
}
}
closedir($folder);
$losowy=rand(0,count($obrazki)-1);
echo '<img src="obrazki/'.$obrazki[$losowy].'" alt="" />';
?>
<?php
$folder = opendir(obrazki);
$i = 0;
while(false !=($plik = readdir($folder))){
if($plik != "." && $plik != ".."){
$obrazki[$i]= $plik;
$i++;
}
}
closedir($folder);
$losowy=rand(0,count($obrazki)-1);
echo '<img src="obrazki/'.$obrazki[$losowy].'" alt="" />';
?>
to jest skrypt do wyświetlania losowego obrazka z wybranego folderu By móc pracować z obrazami w PHP musimy skorzystać z biblioteki GD (ang. Graphics Draw) , która zazwyczaj jest dostarczana z nowszymi wersjami PHP. W przeciwnym wypadku można ją pobrać ze strony http://www.boutell.com/gd/.
Aby zapoznać się z podstawowymi informacjami na temat zainstalowanej biblioteki GD na naszym serwerze wystarczy skorzystać z funkcji gd_info().
<?php
gd_info();
?>
Po upewnieniu się, że nasz serwer obsługuje bibliotekę GD możemy przejść do tematu porady. Załóżmy że na serwerze znajduje się plik grafika.jpg i chcemy poprzez skrypt PHP stworzyć dla niego miniaturkę o nazwie grafika._mini.jpg.
Tworzymy plik mini.php w tej samej lokalizacji co grafika.jpg i wprowadzamy do niego kod, który zmiennej $img przypisze obraz z pliku grafika.jpg i pobierze jego wymiary.
<?php
$img = imagecreatefromjpeg("grafika.jpg");
$width = imagesx($img);
$height = imagesy($img);
?>
Następnie stworzymy "pusty" obraz ($img_mini) 10 razy mniejszy niż $img.
<?php
$width_mini = $width * 0.1;
$height_mini = $height * 0.1;
$img_mini = imagecreatetruecolor($width_mini, $height_mini);
?>
Po tych operacjach możemy skopiować obraz ze zmiennej $img do $img_mini
<?php
imagecopyresampled($img_mini, $img, 0, 0, 0, 0, $width_mini , $height_mini, $width , $height);
?>
Zostało nam jedynie zapisać obraz do pliku i zwolnić zajętą pamięć.
<?php
imagejpeg($img_mini, "grafika_mini.jpg", 80);
imagedestroy($img);
imagedestroy($img_mini);
?>
Ostatni parametr w funkcji imagejpeg() informuje z jaką jakością ma zostać zapisany plik -najmniejsza wartość to 0, a największa to 100.
//miniaturki
Brak komentarzy:
Prześlij komentarz