ERLEDIGT
NEIN
NEIN
ANTWORTEN
24
24
ZUGRIFFE
1011
1011
EMPFEHLEN
-
27.05.06 13:33 #1
- Registriert seit
- Feb 2002
- Ort
- Völklingen
- Beiträge
- 280
Hi,
ich hab mir gerade eine Funktion für Thumbnails von JPG, GIF und PNG Dateien gebastelt, nachdem schon eine Klasse den im Titel beschriebenen Effekt hervorief. Sobald ich in einem Script auf dem betreffenden Server die Funktion imagecreatefromjpeg() (bzw: imagecreatefromgif(), imagecreatefrompng()); aufrufe, bekommt der Browser die Rückmeldung: "Seite nicht gefunden".
Code :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
function CreateThumbnail($source, $target) { global $thumb_height; $ext = substr($source, -3); $ext = strtolower($ext); return false; if (($ext == 'jpg') or ($ext == 'jpeg')) { $f = @imagecreatefromjpeg($source); } elseif($ext == 'gif') { $f = @imagecreatefromgif($source); } elseif($ext == 'png') { $f = @imagecreatefrompng($source); } else { return false; } $size=getimagesize($source); $srcH=$size[1]; $srcW=$size[0]; $percentW=($thumb_height/$srcH); $newH = $thumb_height; $newW = round($srcW*$percentW); $newImage = imagecreatetruecolor($newW, $newH); imagecopyresampled($newImage,$f,0,0,0,0,$newW,$newH,$srcW,$srcH); imagejpeg($newImage, $target, "70"); return true; }
Bei mir auf dem lokalen Server läuft exakt der gleiche Code reibungslos. Ich vermute daher das dem Server etwas fehlt... Ich müsste also wissen was, kenne mich da nicht so aus.
PHPINFO: http://www.onceforgotten.de/modules/image_gallery/x.php
Dankbar für jeden sachdienlichen Hinweis
Sicher ist nur das nichts Sicher ist.
-
27.05.06 13:40 #2
- Registriert seit
- Feb 2002
- Ort
- Völklingen
- Beiträge
- 280
So, nach dem ich die @'s vor den imagecreatefrom***() entfernt habe, wird die Seite angezeigt, aber die Thumbnails werden nicht erstellt...
Wenn mir also dennoch jemand weiterhelfen könnte...Sicher ist nur das nichts Sicher ist.
-
Prüfe mal mit den PHP-eigenen Funktionen, um welches Grafikformat es sich handelt (etwa die getimagesize()-Funktion). Sich alleine auf die Dateiendung zu verlassen, ist etwas naiv.
Markus Wulftange
-
27.05.06 13:42 #4
- Registriert seit
- Feb 2002
- Ort
- Völklingen
- Beiträge
- 280
Die Dateien mit JPEG-Endungen sind bei mir garantiert auch JPEG-Grafiken!
Wie gesagt, lokal läuft es super.
Aber Danke für den Hinweis.Sicher ist nur das nichts Sicher ist.
-
27.05.06 13:46 #5
Bitte das nächste mal die [php] Tags statt [code] benutzen...

Ansonsten:
Dir ist natürlich schon klar, dass jpeg nicht funktionieren kann wenn du nur die letzten 3 Buchstaben des Dateinamens liest?PHP-Code:$ext = substr($source, -3);
$ext = strtolower($ext); return false;
if (($ext == 'jpg') or ($ext == 'jpeg'))
{
$f = @imagecreatefromjpeg($source);
}

mit getimagesize kannst du den Typen des Bildes direkt bestimmen.
So funktioniert es bei mir.PHP-Code:<?php
error_reporting(E_ALL);
function CreateThumbnail($source, $target)
{
$thumb_height = "100";
$size=getimagesize($source);
$ext = $size[2];
switch($ext) {
case "1":
$f = imagecreatefromgif($source);
break;
case "2":
$f = imagecreatefromjpeg($source);
break;
case "3":
$f = imagecreatefrompng($source);
break;
default:
return false;
}
$srcH=$size[1];
$srcW=$size[0];
$percentW = $thumb_height/$srcH;
$newH = $thumb_height;
$newW = round($srcW*$percentW);
$newImage = imagecreatetruecolor($newW, $newH);
imagecopyresampled($newImage,$f,0,0,0,0,$newW,$newH,$srcW,$srcH);
imagejpeg($newImage, $target, "70");
return true;
}
?>
Bei mir lag der Fehler darin, dass $thumb_height nicht definiert war und deshalb nichts passierte... jetzt klappt alles wunderbar.
Da schreibt man mal etwas mehr und wird direkt überrundet
KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
27.05.06 13:48 #6
Hallo!
Du solltest den Tip von Gumbo aber schon beherzigen.
So kann ein *.jpg z.b. auch ein image/pjpeg sein..... gibt noch mehr Varianten.
Gruss Dr DauSchri-Schra-Schrödi *g*
mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
Dinge, die mit Tabellen besser klappen als mit CSS
Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
Meine Links zum Thema Linux (Last update: 29.10.2011)
Kein Busen ist so flach wie das Niveau dieser Party!
----
Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
----
Ich habe 3 Kinder und kein Geld!
Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)
-
27.05.06 13:53 #7
- Registriert seit
- Feb 2002
- Ort
- Völklingen
- Beiträge
- 280
So, ich hab den Code von [FLEX] übernommen, und es geht noch immer nicht...
http://www.onceforgotten.de/modules/...lery/index.php
Dort läuft das Script, die betreffende Funktion wird ausgelöst, wenn man auf "Test-Gallerie" klickt.
Nun wird die Seite wieder nicht angezeigt... Brauch man denn für diese Bild-Funktionen speziele Libs für PHP? Wenn ja wo kann ich in der PHPINFO() nachlesen, ob die implementiert sind?Sicher ist nur das nichts Sicher ist.
-
27.05.06 13:57 #8
Die interessanten Einträge sind unter GD zu finden, der GD Library.
Dort sind aber alle vorhanden, so dass die Probleme nicht dort liegen können.
Hast du error_reporting() mal auf E_ALL gestellt?
Und gib mal testweise $thumb_height aus, ob der Wert auch wirklich gesetzt ist.KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
Den Fehlermeldungen nach zu urteilen, solltest du Zeichenketten explizit als solche auszeichnen. Aus einem $array[index] sollte demnach $array['index'] oder $array["index"] werden.
Markus Wulftange
-
27.05.06 14:07 #10
Außerdem solltest du beachten, dass register_globals auf OFF ist und $PHP_SELF somit nicht direkt ansprechbar ist, sondern über $_SERVER['PHP_SELF'] anzusprechen ist.
Siehe dazu auch: Vordefinierte VariablenKIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
27.05.06 14:43 #11
- Registriert seit
- Feb 2002
- Ort
- Völklingen
- Beiträge
- 280
Vielen Dank für alles...
Hab die Funktion, editiert von [FLIK] nun im Einsatz...
Das Problem war nicht der Quellcode, sondern die Bilder... Warum weiß ich nicht, da teste ich nun mal weiter...
Denn mit anderen Bildern gehts wunderbar.
Danke schon mal.Sicher ist nur das nichts Sicher ist.
-
27.05.06 14:45 #12
- Registriert seit
- Feb 2002
- Ort
- Völklingen
- Beiträge
- 280
Kann es daran liegen das die Bilder Windows-Dateiinformationen wie zum Beispiel Kameramodel, Gerätehersteller, Farbdasrstellung.... beinhalten?
Sicher ist nur das nichts Sicher ist.
-
27.05.06 15:00 #13
Könntest du ein solches Bild mal zur Verfügung stellen, damit man damit rumtesten kann?
KIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
-
27.05.06 15:06 #14
- Registriert seit
- Feb 2002
- Ort
- Völklingen
- Beiträge
- 280
Ich habd as Problem gelöst... Es waren doch nicht die Dateiinformationen... Die Auflösung der Bilder betrag etwa 2200x1700... Das scheint zu groß für die PHP-FUnktionen...
Ich hab nun eines der Bilder auf 2000x1500 gesetzt und schon gehts...
Ein "problematisches" Bild ist:
http://www.onceforgotten.de/uploads/...6/CIMG1914.JPG
(Also es ist noch im Original-Zustand)Sicher ist nur das nichts Sicher ist.
-
27.05.06 15:16 #15
Also bei mir funktioniert das auch mit diesen großen Bildern, lokal als auch online.
Hier zu sehen:
http://zeibagieks.de/dev/test.phpKIDS Kinderbetreuungsdienst
Xing
"When you play the game of thrones, you win or you die. There is no middle ground."
by Cersei Lannister in "A Game Of Thrones"
Ähnliche Themen
-
Von Festplatte kann nicht mehr gelesen werden
Von Iherp im Forum Microsoft WindowsAntworten: 0Letzter Beitrag: 21.03.10, 15:18 -
HP nw8240 kann nicht mehr eingeschaltet werden
Von Dommas im Forum HardwareAntworten: 1Letzter Beitrag: 08.12.06, 00:27 -
"Drives:/" kann nicht aufgerufen werden
Von D@nger im Forum Linux & UnixAntworten: 6Letzter Beitrag: 21.03.06, 02:04 -
index.php kann plötzlich nicht mehr aufgerufen werden
Von Gyrim im Forum PHPAntworten: 2Letzter Beitrag: 28.06.05, 14:28 -
Seite kann nicht aufgerufen werden
Von uni im Forum HTML & XHTMLAntworten: 7Letzter Beitrag: 21.01.03, 21:41





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren