Chance
Themenersteller
Programmierer
Guru (173 Beiträge)

getimagesize() / is_file() / file_exists() und htaccess, die Datei wird von PHP nicht gefunden.

am 27.09.2012, 20:39 Uhr eröffnete Chance folgenden Thread
PHP & MySQL    2542 mal gelesen    5 Antwort(en).

Ich habe gerade folgendes Phänomen:

Es wird dynmaisch eine Grafikdatei erzeugt über die htaccss Rewrite Rule:
RewriteRule ^image_(.*)_(.*)_(.*)_(.*)$ work.php?set=image&id=$1_$2_$3_$4

Im Browser kann ich diese Datei problemlos aufrufen.

Wenn ich allerdings versuche, Sie in php über getimagesize() einzulesen, oder per is_file() oder file_exists() zu prüfen, wird diese nicht gefunden.

Also ist es in PHP nicht möglich daten so einzulesen ?
Gibt es eine Alternative ?


joerg
Avatar joerg
Fachinformatiker Anwendungsentwicklung
Content Gott (1941 Beiträge)
am 27.09.2012, 21:29 Uhr schrieb joerg

Hallo

getimagesize() wurde wie aufgerufen? mit http oder ohne? Sollte bei einer Möglichkeit doch ein Ergebnis bringen.

Das die beiden anderen Funktionen nicht die beste Wahl sind ist eigentlich logisch.

Und es gibt so viele Möglichkeiten an die Datei zu kommen.

readfile
filegetscontent
curl
fsockopen

hinterher
imagecreatefromstring
oder
Imagick::readImageBlob

Man kann auch direkter zuschlagen

Imagick::readImage

oder halt eben wenn das Foramt bekannt ist imagecreatefrompng

Gruß
Jörg


Zufällige Umleitung zu der Startseite einer meiner Domains
Meine ungewöhnlichen Tools


gelöschter Benutzer
am 27.09.2012, 22:51 Uhr schrieb

Chance schrieb:

Es wird dynmaisch eine Grafikdatei erzeugt über die htaccss Rewrite Rule:



Du kannst mir der .htacces Grafiken erzeugen?

Chance schrieb:
Wenn ich allerdings versuche, Sie in php über getimagesize() einzulesen, oder per is_file() oder file_exists() zu prüfen, wird diese nicht gefunden.



Dein Pfad zur Grafik ist schlicht weg falsch, deshalb können die Funktionen nicht auf die Grafiken zugreifen. Wenn du sie über die URL öffnen willst musst das erst in der php.ini erlauben.

php.net/manual/de/filesystem.configuration.php

Für fopen(), die Funktion ist für binäre Daten zu empfehlen, es kommt aber mehr darauf an was du anschließend mit den Grafiken vor hast.

Schöne Grüße
Thomas


Chance
Programmierer
Guru (173 Beiträge)
am 28.09.2012, 08:55 Uhr schrieb Chance

Ultima schrieb:

Du kannst mir der .htacces Grafiken erzeugen?


Ja, indem ich PHP zur Hilfe nehme.

Ultima schrieb:

Dein Pfad zur Grafik ist schlicht weg falsch, deshalb können die Funktionen nicht auf die Grafiken zugreifen. Wenn du sie über die URL öffnen willst musst das erst in der php.ini erlauben.

php.net/manual/de/filesystem.configuration.php

Für fopen(), die Funktion ist für binäre Daten zu empfehlen, es kommt aber mehr darauf an was du anschließend mit den Grafiken vor hast.



Ich will die dynamisch erzeigte Grafik nur normal im Dateisystem auslesen, um die dynamisch calculierte Höhe Und Breite zu erfahren.

Aber ich werde nochmal die Pfade testen...


Chance
Programmierer
Guru (173 Beiträge)
am 29.09.2012, 23:33 Uhr schrieb Chance

Die Lösung des Problems war einfach (ich Fachidiot...), PHP ignoriert die .htaccess.

Daher wäre die HTTP Variante vonnöten gewesen.

Ich habe es so gelößt, das die Daten aus dem Bild im Cache geladen werden.
Das hinzufügen der Höhe und Breite funktioniert daher erst ab dem zweiten Aufruf...


joerg
Avatar joerg
Fachinformatiker Anwendungsentwicklung
Content Gott (1941 Beiträge)
am 30.09.2012, 23:05 Uhr schrieb joerg

Chance schrieb:

Ich habe es so gelößt, das die Daten aus dem Bild im Cache geladen werden.
Das hinzufügen der Höhe und Breite funktioniert daher erst ab dem zweiten Aufruf...



Hallo

Dann frage ich mich an der Stelle was das im zweiten Anlauf bewirken soll.

Dann kann ich das gleich ohne Angabe machen und der Browser reguliert das von alleine.

Gruß
Jörg


Zufällige Umleitung zu der Startseite einer meiner Domains
Meine ungewöhnlichen Tools

  • 1


« zurück zu: PHP & MySQL

Das Seitenreport Forum hat aktuell 5267 Themen und 36089 Beiträge.
Insgesamt sind 48167 Mitglieder registriert.