-
12.11.11 00:59 #16
- Registriert seit
- May 2006
- Ort
- There is no place like 127.0.0.1
- Beiträge
- 3.521
Interessanterweise hat er error_reporting() eingeschaltet, sowie display_errors auf 1 und es kommt keine E_NOTICE, das auf ein nicht-existentes Array-Index ($imagearray[0] und $imagearray[1]) zugreift. Alles sehr seltsam das...
Grüße
--
Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)
-
12.11.11 05:31 #17
Nützt nur nichts wenn diese Funktionen (und ini_set()) in der php.ini unter den deaktivierten Funktionen eingetragen ist.
Und wenn in der php.ini dann auch noch das error_reporting() deaktiviert ist, dann gute Nacht.
Über den "Sinn" einer solchen Konfiguration brauchen wir sicherlich nicht diskutieren, aber sie ist halt nicht auszuschliessen.
Fakt ist dass der von mir gezeigte Code mit der URL zur Grafik von php.net funktioniert (getestet), sofern allow_fopen_url auf "on" steht.
Es ist ja auch nicht auszuschliessen dass das Hotlinking beim TE unterbunden wird, da kann ein Test mit einer fremden Grafik auf einem fremden Server (wie die von mir verwendete Grafik) nicht schaden.
Ich sehe derzeit jedenfalls keinen Sinn darin das Problem irgendwo im Code vom TE zu suchen..... das Problem liegt irgendwo anders.Schri-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)
-
Vielen Dank Dr Dau. Zu meinem erstaunen kam als Meldung tatsächlich
und auchCode :1
resource(2) of type (stream)
Code :1
array(7) { [0]=> int(120) [1]=> int(67) [2]=> int(1) [3]=> string(23) "width="120" height="67"" ["bits"]=> int(7) ["channels"]=> int(3) ["mime"]=> string(9) "image/gif" }
Danach habe ich mit meinen Script ein Bild verwenden, dass nicht auf meinem Server liegt. Und siehe da, es funktioniert! Anscheinend darf ich bei Bildern die auf meinem Server liegen nicht den kompletten Pfad verwenden http://.. Ist zwar komisch, aber wenigstens weiß ich jetzt was zu tun ist.
Vielen Dank an alle!
-
12.11.11 17:15 #19
Damit steht schonmal fest dass es nicht an allow_fopen_url liegt.

Ich habe nochmal etwas getestet.
Sind in den Verzeichnis- und/oder Dateinamen zufälligerweise Leerzeichen enthalten?
Wenn ja:
funktioniert.PHP-Code:$imageurl = "my file.jpg";
$image_array = getimagesize($imageurl);
var_dump($image_array);
Ein:
liefert hingegen ein bool(false) zurück.PHP-Code:$imageurl = "http://www.my-domain.de/my file.jpg";
$image_array = getimagesize($imageurl);
var_dump($image_array);
Abhilfe wird geschafft wenn man die Leerzeichen konvertiert:
Aber, ein:PHP-Code:$imageurl = str_replace(" ", "%20", "http://www.my-domain.de/my file.jpg");
$image_array = getimagesize($imageurl);
var_dump($image_array);
liefert wiederum ein bool(false) zurück.PHP-Code:$imageurl = str_replace(" ", "%20", "my file.jpg");
$image_array = getimagesize($imageurl);
var_dump($image_array);
Zusammenfassung:
Man muss zwischen lokalen und entfernten Dateien unterscheiden.
Bei lokalen Dateien dürfen die Leerzeichen nicht konvertiert werden.
Bei entfernten Dateien müssen die Leerzeichen konvertiert werden.
Damit wir flexibel sind, prüfen wir mittels regulärer Ausdrücke ob der String aus §imageurl mit http:// oder ftp:// beginnt:
Alternativ würde es auch kürzer funktionieren:PHP-Code:$imageurl = "http://www.my-domain.de/my file.jpg";
if(preg_match('/^(http|ftp):\/\//', $imageurl)) { // wenn $imageurl mit http:// oder ftp:// beginnt.....
$image = str_replace(" ", "%20", $imageurl); // dann konvertiere die Leerzeichen und setze eine neue Variable
} else { // sonst.....
$image = $imageurl; // setze eine neue Variable mit dem unveränderten String aus $imageurl
}
var_dump($image);
PHP-Code:$imageurl = "http://www.my-domain.de/my file.jpg";
if(preg_match('/^(http|ftp):\/\//', $imageurl)) { // wenn $imageurl mit http:// oder ftp:// beginnt.....
$imageurl = str_replace(" ", "%20", $imageurl); // dann konvertiere die Leerzeichen und überschreibe die alte Variable
}
var_dump($imageurl);
Schri-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)
Ähnliche Themen
-
Preloader für Slideshow mit externen Bildern
Von sexmagic im Forum Flash PlattformAntworten: 7Letzter Beitrag: 11.04.07, 17:33 -
getimagesize() x & y problem
Von ciberjoerg im Forum PHPAntworten: 6Letzter Beitrag: 07.03.07, 22:34 -
getimagesize - Problem
Von Prophet05 im Forum PHPAntworten: 4Letzter Beitrag: 22.05.05, 11:18 -
getimagesize Problem
Von Bencher im Forum PHPAntworten: 4Letzter Beitrag: 11.09.03, 14:00 -
getimagesize() problem
Von redback79 im Forum PHPAntworten: 2Letzter Beitrag: 17.04.02, 12:49



2Danke


Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren