Zum Inhalt springen
ThreadPHP & MySQL

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

Kategorie
PHP & MySQL
Gelesen
2542
Antworten
5
Erstellt von: gelöschter BenutzerDatum: 27.09.2012, 20:39 Uhr
Archiv-KommentarSelektiv indexiertRedirects, Relaunch & Statuscodes

Redaktionelle Einordnung

Diese archivierte Diskussion behandelt getimagesize() / is_file() / file_exists() und htaccess, die Datei wird von PHP nicht gefunden. aus Sicht der Rubrik PHP & MySQL.

Bei Umzügen, Relaunches und Weiterleitungen entscheiden heute saubere Redirect-Ketten, Statuscodes und Konsistenz über Rankings und Nutzersignale.

Sinnvoll nutzbar bleibt der Thread vor allem als historischer Kontext, für typische Fragestellungen und zur Einordnung älterer Empfehlungen.

Einige im historischen Thread genannte Tools, Dienste oder externe Links könnten heute nicht mehr verfügbar oder inhaltlich überholt sein. Nutzen Sie sie bitte nur mit zusätzlicher Prüfung.

Startbeitrag

Originaler Foreninhalt in modernisierter Darstellung.

Zur Kategorie
gelöschter Benutzer
Threadstart · PHP & MySQL 2542 mal gelesen · 27.09.2012, 20:39 Uhr

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 ?

Antworten

5 Beiträge
gelöschter Benutzer
am 27.09.2012, 21:29 Uhr schrieb
Antwort

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

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

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

gelöschter Benutzer
am 28.09.2012, 08:55 Uhr schrieb
Antwort

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...

gelöschter Benutzer
am 29.09.2012, 23:33 Uhr schrieb
Antwort

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...

gelöschter Benutzer
am 30.09.2012, 23:05 Uhr schrieb
Antwort

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