Afbeelding bijsnijden en uploaden naar de server script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Nanno Koerts

Nanno Koerts

23/03/2022 22:16:58
Quote Anchor link
Beste mensen,

Ik gebruik al langere tijd een script om mijn afbeeldingen via een formulier naar de server te plaatsen. Hierbij zit een mogelijkheid om hem een vaste breedte te geven en daarbij rekent hij ook de nieuwe hoogte uit.
Nou wil ik op mijn website enkel met een vierkante afbeelding gaan werken van 450x450px.
Ik zou het hierbij dus een super mogelijkheid vinden als het script elke afbeelding zou kunnen bijsnijden ipv te verkleinen. Denkend vanuit het midden...
Ik heb hier echt geen kaas van gegeten en zou echt niet weten hoe ik het script zou moeten aanpassen om dit te realiseren. Of misschien is er een beter script dan wat ik nu heb.

Wie wil en kan mij hierbij helpen?

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
49
50
51
52
53
54
55
56
57
58
59
60
61
$streepje = "-";
$extentie = ".jpg";
$cijfer1 = mt_rand(1, 9);

$newfilename = $Datum . $streepje . $cijfer1 . $extentie;

$change="";
$abc="";

define ("MAX_SIZE","450");
function getExtension($str) {
         $i = strrpos($str,".");
         if (!$i) { return ""; }
         $l = strlen($str) - $i;
         $ext = substr($str,$i+1,$l);
         return $ext;
 }

$errors=0;
  
if($_SERVER["REQUEST_METHOD"] == "POST")
   {
      $image = $_FILES['bestand']['name'];
      $uploadedfile = $_FILES['bestand']['tmp_name'];
    
if ($image)
   {
      $filename = stripslashes($_FILES['bestand']['name']);
      $extension = getExtension($filename);
      $extension = strtolower($extension);
        
if (($extension != "jpg") && ($extension != "jpeg"))
   {
      $change='<div class="msgdiv">Gebruik ENKEL *.jpg of *.jpeg bestanden!</div> ';
      $errors=1;
   }
   else
   {

$uploadedfile = $_FILES['bestand']['tmp_name'];
$src = imagecreatefromjpeg($uploadedfile);

list($width,$height)=getimagesize($uploadedfile);

$newwidth=450;
$newheight=($height/$width)*$newwidth;
$tmp=imagecreatetruecolor($newwidth,$newheight);

imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height);

$filename = $_SERVER['DOCUMENT_ROOT'] . "/$seizoen/img_artiesten/". $_FILES['bestand']['name'];

imagejpeg($tmp,$filename,100);

imagedestroy($tmp);
imagedestroy($src);

}}
}

rename("$filename", $_SERVER['DOCUMENT_ROOT'] . "/$seizoen/img_artiesten/$newfilename");
 
PHP hulp

PHP hulp

03/02/2023 15:30:48
 
- Ariën  -
Beheerder

- Ariën -

23/03/2022 22:56:37
Quote Anchor link
Ikzelf ben fan van de UploadClass van Verot.net. Daar kan je ook erg eenvoudig zoeken bewerkingen mee uitvoeren op afbeeldingen.
 
Jan te Pas

Jan te Pas

24/03/2022 11:12:17
Quote Anchor link
Hier kun je een oplossing bekijken. Dit heb ik ook eens gebruikt.

https://stackoverflow.com/questions/22740929/php-how-do-i-convert-a-rectangle-image-to-a-square-image
Gewijzigd op 24/03/2022 11:13:00 door Jan te Pas
 



Overzicht Reageren

 
 

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.