Et miniatyrbilde er en kopi av et bilde som er skalert ned proporsjonalt til en liten størrelse slik at en bruker kan se flere bilder på samme skjerm , og fortsatt være i stand til å ha en idé om hva hvert bilde ser liker når den vises i sin opprinnelige størrelse. Hvis din versjon av PHP er konfigurert med støtte for GD -biblioteket , kan du bruke de mange innebygde funksjoner for å skape et bilde fra en JPG- fil , redusere størrelsen og lagre det som et miniatyrbilde . Instruksjoner
en
Skriv en funksjon for å lage miniatyrbildene . Ta tre parametere til funksjonen : banen hvor de bildefilene er lagret , banen der thumbnail filene skal lagres og bredden på miniatyrbilde . For eksempel skrive : ?
< Php
funksjon create_thumbnails ( $ image_path , $ thumb_path , $ thumb_width ) {
2
Åpne katalogen der bildet filene er lagret . Åpne en løkke til å lese hver fil i katalogen , må du kontrollere at det er en JPG- fil og deretter behandle den. For eksempel skrive : en
while ( ( $ file = readdir ( $ katalog) ) ) {
$ file_info = pathinfo ( $ image_path , $ file ) ;
hvis ( strtolower ( $ file_info [" extension "] ) == " jpg" ) {
echo " Konvertering " . $ image_file . "Til thumbnail ";
3
lagre bildet banen og filnavnet og oversikt banen og filnavnet til variabler for bildet som behandles i loop. For eksempel skrive : en
$ image_file = $ image_path . $ file ;
$ thumb_file = $ thumb_path . $ file ;
4
Lag et nytt bilde fra bildefilen bruker imagecreatefromjpeg funksjon og få den nåværende bredde og høyde på bildet. For eksempel skrive : en
$ image = imagecreatefromjpeg ( $ image_file ) ;
$ width = imagesx ( $ image ) ;
$ height = imagesy ( $ image );
5
Beregn høyden på miniatyrbildet basert på bredde på miniatyrbildet sendes som en parameter til funksjonen og holde dimensjonene proporsjonal. For eksempel skrive : en
$ new_height = floor ( $ høyde * ( $ thumb_width /$ bredde) ) ;
6
Opprett en midlertidig bilde. Kopiere bildet inn i det midlertidige bildet starter på koordinatene 0,0,0,0 og skalering av bildet basert på gjeldende bredde, thumbnail bredde, nåværende høyde og miniatyrbilde høyde . For eksempel skrive : en
$ temp = ImageCreateTrueColor ( $ thumb_width , $ new_height ) ;
imagecopyresized ( $ temp, $ image , 0 , 0 , 0 , 0 , $ thumb_width , $ new_height , $ bredde, $ høyde ) ;
7
Lagre miniatyrbilde i thumbnail -mappen . For eksempel skrive : en
imagejpeg ( $ temp , $ thumb_file ) ;
8
generere en feilmelding hvis bildefilen var ikke en JPG- fil . Fullfør løkken og lukke åpne katalog med bilder når du er ferdig . For eksempel skrive : en
}
else {
echo $ image_file . "Er ikke et JPG-bilde ! ";
}
}
Closedir ( $ katalog) ;
}
9 < p> Ring funksjonen med de riktige parameterne for å utføre konverteringen . For eksempel skrive : ?
Create_thumbnails ( " /home /steve /images /", " /home /steve /thumbs /", 100 ) ;
>