Bijlage foto gekanteld

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Bijlage foto gekanteld

Bericht door Dennis » 26 feb 2016, 22:33

  • Adres van je forum: http:// koningsoever. nl/
    Event. modificaties op je forum: Like-functie :-)
    Wanneer ontstond het probleem? na install
    phpBB versie: 3.1.7


    Heb je onlangs iets veranderd aan je forum? nee
    Wat is het probleem?
Als er foto's geupload worden, vanaf een telefoon, direct in een post dan zijn sommige foto's gekanteld. Open je de foto door er op te klikken is hij wel goed zichtbaar. Dat laatste zal de browser denk zelf doen, maar voor de thumbnail mag iets anders dit doen.
In de exif staat dan bij Orientaion: Right Upper. (Upper left geeft geen problemen) Is dat middels een instelling of fix te voorkomen?

Gebruikersavatar
Theriddler
Berichten: 1103
Lid geworden op: 20 apr 2012, 07:47
Contacteer:

Re: Bijlage foto gekanteld

Bericht door Theriddler » 26 feb 2016, 23:22

Ontopic:
hier staat interessant leesvoer voor wat betreft de image oriontation.

Wellicht werkt dit nog (kon het niet testen)
https://www.phpbb.com/community/viewtop ... p=13241074

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Re: Bijlage foto gekanteld

Bericht door Dennis » 27 feb 2016, 00:39

Theriddler schreef:hier staat interessant leesvoer voor wat betreft de image oriontation.

Wellicht werkt dit nog (kon het niet testen)
https://www.phpbb.com/community/viewtop ... p=13241074
Bedankt, wellicht werkt het nog. Of zit er iets anders nuttigs bij waarmee het aan te passen is.

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Re: Bijlage foto gekanteld

Bericht door Dennis » 27 feb 2016, 01:15

Even via Google, dit werkt. Morgen op de juiste plek, na aanpassen, in de functions_upload.php toevoegen.
Er wel van uitgaande dat er de juiste exif-data in zit (en de -45 is bewust voor het effect)

Code: Selecteer alles

<?php
header('Content-type: image/jpeg');
$image = 'image.jpg';
$exif = exif_read_data($image);
$image = imagecreatefromjpeg($image);

if (!empty($exif['Orientation'])) {
        switch ($exif['Orientation']) {
        
            case 3:
                $image = imagerotate($image, 180, 0);
                break;

            case 6:
                $image = imagerotate($image, -45, 0);
                break;

            case 8:
                $image = imagerotate($image, 90, 0);
                break;
        }
        imagejpeg($image)
 }

;
?>

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Re: Bijlage foto gekanteld

Bericht door Dennis » 27 feb 2016, 19:21

Ik heb het omgebouwd naar een functie voor in het forum. Voor de geïnteresseerde kan ik hem hier posten. (moet hem nog in 3.1.7 testen)

Gebruikersavatar
Ger
Berichten: 4864
Lid geworden op: 03 jan 2006, 22:23
Locatie: 192.68.1.100
Contacteer:

Re: Bijlage foto gekanteld

Bericht door Ger » 28 feb 2016, 10:09

Laten we het even vriendelijk houden samen? Negativiteit even weggeknipt
- Ger

Gebruikersavatar
Theriddler
Berichten: 1103
Lid geworden op: 20 apr 2012, 07:47
Contacteer:

Re: Bijlage foto gekanteld

Bericht door Theriddler » 28 feb 2016, 10:29

Dennis schreef:Ik heb het omgebouwd naar een functie voor in het forum. Voor de geïnteresseerde kan ik hem hier posten. (moet hem nog in 3.1.7 testen)
Dat mag altijd Dennis :) , wellicht hebben andere leden hier ook wat aan wanneer ze gaan zoeken.
Ik ben zeer benieuwd, btw is het een extensie welke je gemaakt hebt ?

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Re: Bijlage foto gekanteld

Bericht door Dennis » 29 feb 2016, 10:08

Theriddler schreef: Ik ben zeer benieuwd, btw is het een extensie welke je gemaakt hebt ?
Nee, maar zou ik wel willen aanpassen. Is dat veel werk?
Dan kan ik wellicht ook het automatisch resizen van de avatar afbeelding ombouwen (gebruikers liepen tegen het probleem aan dat hun afbeelding te groot was met uploaden, nu kunnen ze 'alles' uploaden en wordt het automatisch verkleind).
Beide scripts staan hardcoded in het functions_upload.php.

Gobru
Berichten: 44
Lid geworden op: 09 feb 2016, 13:52

Re: Bijlage foto gekanteld

Bericht door Gobru » 14 mar 2016, 13:46

Ik heb een ext voor het resizen, maar zit ook met hetzelfde probleem
Foto's staan ook gedraaid

Gobru
Berichten: 44
Lid geworden op: 09 feb 2016, 13:52

Re: Bijlage foto gekanteld

Bericht door Gobru » 14 mar 2016, 16:58

bovenstaande hebben we geprobeerd maar helaas zonder effect dan krijgen we http error

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Re:

Bericht door Dennis » 16 mar 2016, 18:09

Ik kan je mijn aanpassingen wel geven, maar is niet op basis van een extensie. Je moet dan zelf wat php code toevoegen.

Gobru
Berichten: 44
Lid geworden op: 09 feb 2016, 13:52

Re: Bijlage foto gekanteld

Bericht door Gobru » 23 mar 2016, 13:35

Als je zou willen heel graag zelfs

Thanks

Gobru
Berichten: 44
Lid geworden op: 09 feb 2016, 13:52

Re: Bijlage foto gekanteld

Bericht door Gobru » 12 apr 2016, 15:13

Als je dit leest Dennis stuur maar door aub zou je dankbaar zijn

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Re: Bijlage foto gekanteld

Bericht door Dennis » 14 apr 2016, 21:00

Excuses, helemaal vergeten. Heb het nu niet paraat. Zal het morgen even posten.

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Re: Bijlage foto gekanteld

Bericht door Dennis » 15 apr 2016, 08:32

Let op: het aanpassen van core-files van phpBB 3.1 en hoger wordt afgeraden. Het is beter om extensies toe te passen. Nu is het zo dat hier geen extensie voor is aangezien de bug niet bij phpBB maar iOS ligt die verkeerde EXIF data toevoegt dus zal hier geen extensie voor komen waarschijnlijk.

Indien je veel last van gekantelde foto's hebt, kun je proberen het op te lossen met onderstaande wijziging van Dennis, maar let erop dat het ongeteste en ongevalideerde code is welke mogelijk issues kan hebben. Tevens kan het zijn dat bij updates van phpBB deze wijziging tot problemen leidt.
- Ger
Maakt eerst een back-up van je bestand(en) en ik kan geen garantie geven op het correct functioneren ervan.
Zijn er lezers met een beter kijken erop, reageer dan zeker met feed-back.
Het kantelen werkt op basis van de exif-data, dit zal dus werken met een jp(e)g, maar niet met een png.

Open /includes/function_upload.php

find:

Code: Selecteer alles

			$ie_mime_relevant = fread($fp, 256);
			fclose($fp);
			foreach ($disallowed_content as $forbidden)
			{
				if (stripos($ie_mime_relevant, '<' . $forbidden) !== false)
				{
					return false;
				}
			}
		}
		return true;
	}
after add:

Code: Selecteer alles

// add rotate function
function rotate_image($file, $extension)
{
$exif = exif_read_data($file);
$image = imagecreatefromjpeg($file);

if (!empty($exif['Orientation'])) {
        switch ($exif['Orientation']) {
        
            case 3:
                $imagert = imagerotate($image, 180, 0);
                break;

            case 6:
		 $imagert =  imagerotate($image, -90, 0);
                break;

            case 8:
                $imagert = imagerotate($image, 90, 0);
                break;
		}	
	if (isset($imagert)){ 
		if(($this->extension == "jpg") || ($this->extension == "jpeg")) imagejpeg ($imagert,$this->filename);
		imagedestroy($imagert);
		imagedestroy($image);
		}
	}  
}
// end rotate function
find:

Code: Selecteer alles

			@unlink($this->filename);
			$this->error[] = $user->lang($this->upload->error_prefix . 'GENERAL_UPLOAD_ERROR', $this->destination_file);
			$this->file_moved = false;
			return false;
		}
		else
		{
			if (file_exists($this->destination_file))
			{
				@unlink($this->destination_file);
			}
after add:

Code: Selecteer alles

// add rotate image
$extension = $this->extension;		
if(($extension == "jpg") || ($extension == "jpeg")){
	$this->rotate_image($this->filename,$extension);	
}
// end rotate image
Laatst gewijzigd door Ger op 13 mei 2016, 10:52, 3 keer totaal gewijzigd.
Reden: Waarschuwing betr. aanpassing code

Gobru
Berichten: 44
Lid geworden op: 09 feb 2016, 13:52

Re: Bijlage foto gekanteld

Bericht door Gobru » 15 apr 2016, 13:44

Bedankt Dennis we gaan het eens proberen, ik laat je wel weten of alles goed is

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Re: Bijlage foto gekanteld

Bericht door Dennis » 15 apr 2016, 14:00

Leuk, succes.

Gebruikersavatar
El torro
Berichten: 4163
Lid geworden op: 02 sep 2014, 21:28
Locatie: In het zonnige zuiden
Contacteer:

Re: Bijlage foto gekanteld

Bericht door El torro » 08 mei 2016, 19:46

Na aanpassing van de file krijgen we:

Code: Selecteer alles

Error parsing server response

Dennis
Berichten: 431
Lid geworden op: 17 apr 2004, 12:16

Re: Bijlage foto gekanteld

Bericht door Dennis » 11 mei 2016, 05:47

Excuses voor de verlate reactie.

Krijg je die foutmelding bij het uploaden van een afbeelding? Wat is dan de extensie, komt die ook overeen met de werkelijke file?
Ik heb de code één op één over gekopieerd vanuit mijn bron. Zoals ik nu naar de code kijk zou het kunnen dat als de extensie .jpg is maar de file geen jpg is (png of iets degelijks) de foutmelding hieruit voort kunnen komen. Ik ga er vanavond naar kijken.

flinkefreddy
Berichten: 117
Lid geworden op: 09 nov 2014, 14:21

Re: Bijlage foto gekanteld

Bericht door flinkefreddy » 11 mei 2016, 21:56

De file die ik als test heb proberen te uploaden was een jpg. ;)

Plaats reactie