logo   Wideimage




WideImage er et PHP add-on, der kan anvendes til mange former for efterbehandling af indlæste billeder.


WideImage kan downloades herfra x.


Dokumentation kan ses her x. 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;




















x
x