Exif data aanpassen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Maarten van Rijssel

Maarten van Rijssel

19/03/2016 23:22:03
Quote Anchor link
Dag.

Ik heb een probleempje.

Als ik bestanden upload naar mijn webhost dan kantelt hij alle afbeeldingen.
Wanneer ik de Exif data uitlees dan krijg ik als Orientatiepunt 8, Hoe hij dan staat kan ik hier zien. Weet iemand hoe ik die exif data aan kan passen naar 1?

Bvd
Gewijzigd op 19/03/2016 23:22:30 door Maarten van Rijssel
 
PHP hulp

PHP hulp

25/04/2024 14:21:32
 
Ben van Velzen

Ben van Velzen

19/03/2016 23:44:54
Quote Anchor link
Volgens mij denk je verkeerd om. Je afbeeldingen worden niet gekanteld bij het uploaden, ze zijn al gekanteld. Je ziet het alleen vaak niet omdat de exif data goed staat.
 
Maarten van Rijssel

Maarten van Rijssel

19/03/2016 23:49:57
Quote Anchor link
Ze zijn inderdaad niet gekanteld. Het probleem is alleen als je deze: http://www.impulseadventure.com/photo/exif-orientation.html site leest dan zie je dat hij op je pc goed weergeven word maar volgens de data gekanteld is, en dus wordt hij gekanteld op t scherm geprint op de website. Volgens de Exif data is mn orientatie punt 8 en als je die site bekijkt zie je idd dat hij dan gekanteld weergeven wordt.

Ik ben dus opzoek naar een manier om dat orientatie punt aan te kunnen passen
 
Chris Bosmans

chris Bosmans

20/03/2016 23:20:34
Quote Anchor link
heb ook dit probleem, hoe kan je dit oplossen door dit in je script op te bouwen ?

ik heb momenteel dit

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
<?php
// Access the $_FILES global variable for this specific file being uploaded
// and create local PHP variables from the $_FILES array of information

$fileName = $_FILES["uploaded_file"]["name"]; // The file name
$fileTmpLoc = $_FILES["uploaded_file"]["tmp_name"]; // File in the PHP tmp folder
$fileType = $_FILES["uploaded_file"]["type"]; // The type of file it is
$fileSize = $_FILES["uploaded_file"]["size"]; // File size in bytes
$fileErrorMsg = $_FILES["uploaded_file"]["error"]; // 0 for false... and 1 for true
$kaboom = explode(".", $fileName); // Split file name into an array using the dot
$fileExt = end($kaboom); // Now target the last array element to get the file extension
// START PHP Image Upload Error Handling --------------------------------------------------

if (!$fileTmpLoc) { // if file not chosen
    echo "ERROR: Please browse for a file before clicking the upload button.";
    exit();
}
else if($fileSize > 5242880) { // if file size is larger than 5 Megabytes
    echo "ERROR: Your file was larger than 5 Megabytes in size.";
    unlink($fileTmpLoc); // Remove the uploaded file from the PHP temp folder
    exit();
}
else if (!preg_match("/.(gif|jpg|png)$/i", $fileName) ) {
     // This condition is only if you wish to allow uploading of specific file types    
     echo "ERROR: Your image was not .gif, .jpg, or .png.";
     unlink($fileTmpLoc); // Remove the uploaded file from the PHP temp folder
     exit();
}
else if ($fileErrorMsg == 1) { // if file upload error key is equal to 1
    echo "ERROR: An error occured while processing the file. Try again.";
    exit();
}

// END PHP Image Upload Error Handling ----------------------------------------------------
// Place it into your "uploads" folder mow using the move_uploaded_file() function

$moveResult = move_uploaded_file($fileTmpLoc, "../../../../gallerij/webpic/$fileName");
// Check to make sure the move result is true before continuing
if ($moveResult != true) {
    echo "ERROR: File not uploaded. Try again.";
    unlink($fileTmpLoc); // Remove the uploaded file from the PHP temp folder
    exit();
}

unlink($fileTmpLoc); // Remove the uploaded file from the PHP temp folder
// ---------- Include Universal Image Resizing Function --------

include_once("resize.php");
$target_file = "../../../../gallerij/webpic/$fileName/$fileName";
$resized_file ="../../../../gallerij/webpic/$fileName/$fileName";
$wmax = 1000;
$hmax = 700;
ak_img_resize($target_file, $resized_file, $wmax, $hmax, $fileExt);
// ----------- End Universal Image Resizing Function -----------

?>



wat in een vorig post werd vermeld als suggestie

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
<?php
$fileTmpLoc
= imagecreatefromstring(file_get_contents($_FILES['uploaded_file']['tmp_name']));
$exif = exif_read_data($_FILES['uploaded_file']['tmp_name']);
if(!empty($exif['Orientation'])) {
    switch($exif['Orientation']) {
        case
8:
            $fileTmpLoc = imagerotate($fileTmpLoc,90,0);
            break;
        case
3:
            $fileTmpLoc = imagerotate($fileTmpLoc,180,0);
            break;
        case
6:
            $fileTmpLoc = imagerotate($fileTmpLoc,-90,0);
            break;
    }
}

?>


maar dan wordt mijn image naam helemaal niet meer goed krijg ik dit als ik ene bepaalde foto upload
na de bovenstaande scrtipt is $fileTmpLoc=> Resource id #8 of #6 naargelang de exif informatie

hoe krijg je dit in het script verwerkt?

Toevoeging op 20/03/2016 23:48:17:

solved na nog wat opzoek werk

updated code
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
<?php
$filetijdelijk
= imagecreatefromstring(file_get_contents($_FILES['uploaded_file']['tmp_name']));
$exif = exif_read_data($_FILES['uploaded_file']['tmp_name']);
if(!empty($exif['Orientation'])) {
    switch($exif['Orientation']) {
        case
8:
            $filetijdelijk = imagerotate($filetijdelijk,90,0);
            break;
        case
3:
            $filetijdelijk = imagerotate($filetijdelijk ,180,0);
            break;
        case
6:
            $filetijdelijk = imagerotate($filetijdelijk ,-90,0);
            break;
    }
}

imagejpeg($filetijdelijk ,$fileTmpLoc);

?>
Gewijzigd op 20/03/2016 23:34:03 door chris Bosmans
 



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.