En miniatyr är en kopia av en bild som har skalats ned proportionellt till en liten storlek så att en användare kan se flera bilder på samma skärm och ändå kunna ha en uppfattning om vad varje bild ser gillar när de ses i sitt ursprungliga format . Om din version av PHP är konfigurerad med stöd för GD biblioteket , kan du använda de många inbyggda funktioner för att skapa en bild från en JPG-fil , minska dess storlek och spara den som en tumnagel . Instruktioner
1
Skriv en funktion för att skapa miniatyrbilder . Ta tre parametrar till funktionen : sökvägen där bilden lagras , sökvägen där miniatyrbilder filerna ska lagras och bredden på miniatyrbilden . Skriv till exempel : ?
< Php
funktion create_thumbnails ( $ image_path , $ thumb_path , $ thumb_width ) {
2
Öppna den katalog där bilden filer lagras . Öppna en slinga för att läsa varje fil i katalogen , kontrollera att det är en JPG-fil och sedan bearbeta den . Till exempel , typ :
medan ( ( $ file = readdir ( $ directory ) ) ) {
$ file_info = pathinfo ( $ image_path , $ file ) ;
om ( strtolower ( $ file_info [ " förlängning " ] ) == " jpg " ) {
echo " Konvertera " . $ image_file . " Till miniatyr " , Addera 3
Store bildens sökväg och filnamn och miniatyren sökvägen och filnamnet till variabler för bilden som behandlas i slingan . Till exempel , typ :
$ image_file = $ image_path . $ file ;
$ thumb_file = $ thumb_path . $ file ;
4
Skapa en ny bild från bildfilen med imagecreatefromjpeg funktion och få aktuella bredd och höjd på bilden . Till exempel , typ :
$ image = imagecreatefromjpeg ( $ image_file ) ,
$ width = imagesx ( $ image ) ;
$ height = imagesy ( $ image ) ;
5
Beräkna höjden på miniatyren utifrån bredden på miniatyren skickas som en parameter till funktionen och hålla dimensionerna proportionellt . Till exempel , typ :
$ new_height = floor ( $ höjd * ( $ thumb_width /$ width ) ) ;
6
Skapa en temporär bild . Kopiera bilden till den tillfälliga bilden börjar vid koordinaterna 0,0,0,0 och skalning av bilden baserat på den aktuella bredden , miniatyr bredd , aktuell höjd och miniatyr höjd . Till exempel , typ :
$ temp = imagecreatetruecolor ( $ thumb_width , $ new_height ) ,
imagecopyresized ( $ temp , $ image , 0 , 0 , 0 , 0 , $ thumb_width , $ new_height , $ width , $ höjd ) ,
7
Spara miniatyr i miniatyr mappen . Till exempel , typ :
imagejpeg ( $ temp , $ thumb_file ) ,
8
ett felmeddelande om bildfilen var inte en JPG-fil . Avsluta slingan och stäng öppna katalogen med bilderna när du är klar . Till exempel , typ :
}
else {
echo $ image_file . " Är inte en JPG-bild ! " ,
}
}
Closedir ( $ katalog ) ,
}
9
Anropa funktionen med lämpliga parametrar för att utföra konverteringen . Skriv till exempel : ?
Create_thumbnails ( " /home /steve /images /" , " /home /steve /tummar /" , 100 ) ;
>
Addera