Wideimage
WideImage er et PHP add-on, der kan anvendes til mange former for efterbehandling af indlæste billeder.
WideImage kan downloades herfra .
Dokumentation kan ses her . Afsnittet "Examples" indeholder mindst lige så god information som afsnittet "Documentation".
Programmet placeres i en mappe (WideImage) indenfor den struktur man aktuelt arbejder med. Fra de sider, hvorpå WI skal anvendes linkes til programmet med:
include ("/wideImage/lib/wideimage.php")
|
Upload af 1 billede ad gangen
Billedet kan opsamles i formen således:
<form method='post' enctype='multipart/form-data'/>
<table>
<?php
echo "<tr><td>Billede</td><td><input type='file' name='billed'/></td></tr>";
?>
<tr><td><input type='submit' name='indset_billede' value='Indsæt selekteret billede' /></td></tr>
</form>
|
I stedet for at hente styreparametre med $_GET kan de tilføjes via input-felter i formen og $_POST.
|
WI opsamler data fra $_FILES på denne måde:
if (isset ($_POST['indset_billede']))
{
// UDTRÆK fra post
$src = $_FILES['billed']['name']; // navn på billede ved upload (xxx.jpg)
$src_error = $_FILES['billed']['error']; // fejlkode fra upload
if ($src_error == 0)
{
$tmp_billed = WideImage::load('billed'); // billed = 'name' fra input type 'file'. Indeholder alle billedets bits.
}
|
For hver variant af billedet, der skal uploades, skal denne procedure gennemløbes (Hver variant uploades med samme navn til hver sin mappe):
Billedstørrelser anføres som bredde,højde.
x erstattes med et løbenummer, når mere end 1 variant skal uploades.
Definer billednavn (kun 1 gang). Kan gøres på flere måder, bl.a. nøjes med $src - med risiko for gengangere |
$tid = date("YmdGis");
$up_billed = $tid . "_" . $src;
| YmdGis = fuld tidsstreng fra år til sekunder. |
Definer kombinationen sti og billednavn |
$up_stix = "../sti/";
$up_stiogbilledx = $up_stix . $up_billed;
| |
Ingen eller flere WideImage-kommandoer til opbygningen af det individuelle billede. (f.eks. 1, 2 eller 2+3 nedenfor). Mange flere kan etableres med hjælp fra WideImage-manualen. |
$resized = $tmp_billed->resize(120, 90, 'inside'); eller $resized = $tmp_billed->resize(120, 90);
| 1. Billedets størrelse tilpasses parametrene således, at det på den ene led har parameterets størrelse og er mindre på den anden led. |
$resized = $tmp_billed->resize(120, 90, 'outside');
| 2. Billedets størrelse tilpasses parametrene således, at det på den ene led har parameterets størrelse og er større på den anden led. |
$resized = $resized->crop('center', 'center', 120, 90); | 3. Etablerer et udsnit på 120/90px med udgangspunkt i billedets midte. Fungerer godt sammen med "2" ovenfor. |
Upload af billedet |
$resized->saveToFile($up_stiogbilledx);
| |
Efter afslutning af upload foretages relevant opdatering af database.
Visning af billeder
Billeder gemt med WI kan vises med almindelig < "img ..... >.
Sletning af billeder
Sletning af et billede ad gangen. Alle varianter slettes enkeltvis for enden af hver sin sti. Derefter slettes den fælles record i databasen.
$billed_navn = $_GET['billed_navn'];
//Variant 1
$up_sti = "../sti1/";
$up_stiogbilled = $up_sti . $billed_navn;
unlink($up_stiogbilled);
//Variant 2
$up_sti = "../sti2/";
$up_stiogbilled = $up_sti . $billed_navn;
unlink($up_stiogbilled);
$query = "DELETE FROM billedtabel WHERE billed_navn = '$billed_navn' ";
$result = mysqli_query ($db_link, $query) or die (mysqli_error() );
header ("Location: xxx.php");
exit;
|
|