image-x-resize

Gesponsorde koppelingen

PHP script bestanden

  1. image-x-resize

« Lees de omschrijving en reacties

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
if($_GET['image'] && $_GET['width'])
{
// het is niet handig om de grootte mee te geven maar voor test doeleinden wel
    //Waar komt het bestand vandaan?

    $bronvanhetbestand = "upload/". $_GET['image'];
    
    //De hoogte en breedte ophalen van het plaatje
    $dimensions = getimagesize($bronvanhetbestand);
    
    //Dit is de breedte die alle plaatjes krijgen
    $doelbreedte = $_GET['width'];
    
    //Hoogte en breedte toekennnen aan nieuwe variabelen
    $bronbreedte = $dimensions[0];
    $bronhoogte  = $dimensions[1];
    
    //De nieuwe hoogte berekenen aan de gegevens van het oude plaatje en de doel breedte
    $doelhoogte = ($bronhoogte * $doelbreedte) / $bronbreedte;
    
    //De hoogte, als het nodig is, afronden
    $doelhoogte = round($doelhoogte, 0);
    
    //Zeggen dat dit bestand een plaatje is
    header('content-type: image/jpeg');
    
    //Het plaatje inlezen in de variabele $image
    $image = imagecreatefromjpeg($bronvanhetbestand);
    
    //een nieuw klein plaatje maken met de gewenste grootte
    $destination = imagecreatetruecolor($doelbreedte, $doelhoogte);
    
    //Het nieuwe plaatje vullen met verkleinde plaatje
    imagecopyresampled($destination, $image, 0, 0, 0, 0, $doelbreedte, $doelhoogte, $bronbreedte, $bronhoogte);
    
    //Het plaatje weergeven
    imagejpeg($destination);
    
    //Het bronplaatje verwijderen
    imagedestroy($image);
    
    //Het doelplaatje verwijderen
    imagedestroy($destination);
}

else
{
    echo "Er is geen plaatje meegegeven";
}

?>

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.