Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]10023[/thread]

(PHP) Warum kein Output bei imagecopyresampled?



<< |< 1 2 >| >> 18 Einträge, 2 Seiten
Pida
 2007-08-10 13:24
#97877 #97877
User since
2006-06-09
52 Artikel
BenutzerIn
[default_avatar]
EDIT:
In Beitrag 18 steht eine funktionierende Version des Skriptes.
-----

Hallo,

mein Bilder-Upload hat leider noch ein Problem aufgeworfen: Ich möchte die Bilder gerne so manipulieren, dass sie an der langen Seite auf 200px und an der kurzen Seite proportional dazu skaliert werden.

Folgender Code bringt leider gar keinen Output. Die Ordnerstruktur ist /root/media/images, das Skript liegt im Ordner media.

Hier der Code:

Code: (dl )
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
		// Set a maximum height and width							
$width = 200;
$height = 200;

//$timestamp_pic.jpg als Quelle
$src_file = imagecreatefromjpeg("/images/$timestamp_pic.jpg");

// Content type
header('Content-type: image/jpeg');

// Neue Masse ermitteln
list($width_orig, $height_orig) = getimagesize($src_file);

$ratio_orig = $width_orig/$height_orig;

if ($width/$height > $ratio_orig) {
$width = $height*$ratio_orig;
} else {
$height = $width/$ratio_orig;
}

// Neues Bild erstellen
$dest_file = imagecreatetruecolor($width, $height);

// Neues Bild füllen
imagecopyresampled($dest_file, $src_file, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
imageinterlace($dest_file);

// Output
imagejpeg($dest_file, "test.jpg", 80);
GwenDragon
 2007-08-10 17:13
#97907 #97907
User since
2005-01-17
14761 Artikel
Admin1
[Homepage]
user image
Code: (dl )
$src_file = imagecreatefromjpeg("/images/$timestamp_pic.jpg");

Sollte da nicht ein absoluter Pfad stehen, der auf das Bild zeigt?
Wohl eher /root/images/$timestamp_pic.jpg !

Ich nehme an, das gilt auch für den Pfad der Ausgabedatei.
Pida
 2007-08-10 18:23
#97911 #97911
User since
2006-06-09
52 Artikel
BenutzerIn
[default_avatar]
Leider bringt die Umstellung auf absolute Pfade keine Veränderung. In meinem Skript steht jetzt jeweils
Code: (dl )
"http://domain.de/media/images/dateiname.jpg"


Danke, Pida
renee
 2007-08-10 18:40
#97914 #97914
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Pida+2007-08-10 16:23:12--
Leider bringt die Umstellung auf absolute Pfade keine Veränderung. In meinem Skript steht jetzt jeweils
Code: (dl )
"http://domain.de/media/images/dateiname.jpg"


Danke, Pida



URL != absoluter Pfad!

GwenDragon meinte absolute Pfade auf dem Dateisystem...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Pida
 2007-08-10 19:48
#97919 #97919
User since
2006-06-09
52 Artikel
BenutzerIn
[default_avatar]
Danke, aber leider brachte auch diese Änderung nichts. Keine der folgenden Alternativen funktioniert:

Code: (dl )
1
2
"oberster_ordner/media/images/dateiname.jpg"
"/oberster_ordner/media/images/dateiname.jpg"


Die Datei test1.jpg existiert auch. Eine Bedingung kann das Problem auch nicht verursachen; es besteht auch, wenn ich eine Datei nur mit obigem php-Code verwende.

Gruß, Pida
renee
 2007-08-10 20:22
#97921 #97921
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
gibt es denn eine Fehlermeldung?
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Pida
 2007-08-10 21:08
#97924 #97924
User since
2006-06-09
52 Artikel
BenutzerIn
[default_avatar]
Nein, es passiert schlich gar nichts. Ich suche einfach die Datei auf dem Server, doch offensichtlich wird sie nicht generiert.
Pida
 2007-08-10 21:55
#97925 #97925
User since
2006-06-09
52 Artikel
BenutzerIn
[default_avatar]
So, mittels 'die()' habe ich zwischenzeitlich rausgefunden: Das Quellbild wird nicht gefunden. Mit einer URL funktioniert das zwar, bei getimagesize ist aber endgültig Schluss:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
// Max. Hoehe und Breite											
$width = 200;
$height = 200;

//Quelledatei
$src_file = imagecreatefromjpeg("http://***.de/media/images/test1.jpg") or die("no such pic") ; // Funktioniert mit URL

// Content type
header('Content-type: image/jpeg');

// Neue Masse ermitteln
list($width_orig, $height_orig) = getimagesize($src_file) or die("no size information"); // Fehler tritt auf


Ich habe verschiedene jpegs als Quelldatei getestet...

Gruß, Pida
GwenDragon
 2007-08-10 22:45
#97928 #97928
User since
2005-01-17
14761 Artikel
Admin1
[Homepage]
user image
Ist es bei dir nicht üblich, dass du Aufrufe prüfst, ob sie fehlschlugen?
Oder ist das bei PHP uncool oder unmöglich oder Out-of-Design?
Pida
 2007-08-10 22:56
#97929 #97929
User since
2006-06-09
52 Artikel
BenutzerIn
[default_avatar]
@GwenDragon: Dein Posting verstehe ich nicht.
<< |< 1 2 >| >> 18 Einträge, 2 Seiten



View all threads created 2007-08-10 13:24.