M.: file_exists() per http-wrappen

Mahlzeit,

wie die Überschrift vermuten lässt, es soll per file_exists() die existenz einer Datei auf einem Server geprüft werden (speziell Bilder).
Trotz allow_url_open=on kein Erfolgt.

Ändern von file_exists() steht nicht zur Debatte. Fremdsoftware, die nicht geändert wird, zuviel Aufwand.

Jetzt hielt ich mich für schlau (meist ein böser Fehler) und klemm ne Datei image.php ins Docroot:

$url = 'http://images.example.com';  
  
$uri = $_SERVER['REQUEST_URI'];  
$uriArray = explode('/', $uri);  
  
array_shift($uriArray);  
array_shift($uriArray);  
  
$uri = implode('/', $uriArray);  
  
$file_headers = @get_headers($url . '/' . $uri);  
  
if($file_headers[0] == 'HTTP/1.1 404 Not Found') {  
	$exists = 'FALSE';  
} else {  
	$exists = 'TRUE';  
}  
  
echo $exists;  

Nun kann ich zwar erkennen, ob die Datei existiert aber ein

$file = getcwd() . '/image.php/pictures/info/88903752-8890-8890-8890-88903752eeb3_0.jpg';  
$test = file_exists($file);  

liefert mir natürlich ein FALSE, weil der Pfad nicht existiert.

Also eindeutig ein Konzeptfehler von mir.

Vorschläge zur Lösung meines Problems? Serverconfig ändern ist kein Problem, wenns ohne geht, wärs mir lieber ;)

thx4hlp

--
eigentlich ist mir bewusst, dass ich hin und wieder einfach mal die Klappe halten sollte. Doch genau in den unpassendsten Momenten erwische ich mich dabei, wie ich dennoch etwas sage ...
  1. Mahlzeit,
    Jetzt hielt ich mich für schlau (meist ein böser Fehler) und klemm ne Datei image.php ins Docroot:

    Remote-Management? Da brauchst Du einen serverseitigen Prozess und der prüft mit file_exists(). Den zu prüfenden Dateinamen übergibst Du in einem Parameter und in der Response steht 1 oder 0 drin.

    Falls mehrere Dateien geprüft werden sollen, übergibst Du eine Liste per HTTP und kriegst die Liste zurück.

    MfG

    1. Mahlzeit,

      Remote-Management? Da brauchst Du einen serverseitigen Prozess und der prüft mit file_exists(). Den zu prüfenden Dateinamen übergibst Du in einem Parameter und in der Response steht 1 oder 0 drin.

      Und wie prüfe ich dann lokal per file_exists() was in der Response drinsteht? Ich verstehe nicht wirklich, was du mir sagen willst. Denn, wie geschrieben, kann ich den originalen Code nicht ändern und da wird eben eine Datei per file_exists() geprüft.

      --
      eigentlich ist mir bewusst, dass ich hin und wieder einfach mal die Klappe halten sollte. Doch genau in den unpassendsten Momenten erwische ich mich dabei, wie ich dennoch etwas sage ...
  2. Tach!

    wie die Überschrift vermuten lässt, es soll per file_exists() die existenz einer Datei auf einem Server geprüft werden (speziell Bilder).
    Trotz allow_url_open=on kein Erfolgt.

    Geht nicht. file_exists() kann das nicht. Siehe Handbuch: "Refer to Supported Protocols and Wrappers to determine which wrappers support stat() family of functionality." Und da steht beim http://-Wrapper bei stat() ein No.

    Nun kann ich zwar erkennen, ob die Datei existiert aber ein

    $file = getcwd() . '/image.php/pictures/info/88903752-8890-8890-8890-88903752eeb3_0.jpg';

    $test = file_exists($file);

    
    > liefert mir natürlich ein FALSE, weil der Pfad nicht existiert.  
    > Also eindeutig ein Konzeptfehler von mir.  
      
    Oder ein Problembeschreibungsfehler. Erst soll es über HTTP gehen, nun übers eigene Dateisystem? Oder was hat getcwd() für eine Bewandnis?  
      
      
    dedlfix.
    
    1. Mahlzeit,

      Oder ein Problembeschreibungsfehler. Erst soll es über HTTP gehen, nun übers eigene Dateisystem? Oder was hat getcwd() für eine Bewandnis?

      Das ist der lokale Wrapper, der dann die entferne Datei auf Existenz prüft.

      --
      eigentlich ist mir bewusst, dass ich hin und wieder einfach mal die Klappe halten sollte. Doch genau in den unpassendsten Momenten erwische ich mich dabei, wie ich dennoch etwas sage ...
      1. Tach!

        Oder ein Problembeschreibungsfehler. Erst soll es über HTTP gehen, nun übers eigene Dateisystem? Oder was hat getcwd() für eine Bewandnis?
        Das ist der lokale Wrapper, der dann die entferne Datei auf Existenz prüft.

        Für mich bleibt es bei Problembeschreibungsfehler, denn ich kann nach wie vor nicht erkennen, was da wie zusammenspielen soll. Was hat die Abfrage, die ja über get_headers() funktioniert, mit dem "lokalen Wrapper" zu tun?

        dedlfix.

        1. Mahlzeit,

          Für mich bleibt es bei Problembeschreibungsfehler, denn ich kann nach wie vor nicht erkennen, was da wie zusammenspielen soll. Was hat die Abfrage, die ja über get_headers() funktioniert, mit dem "lokalen Wrapper" zu tun?

          Da file_exists() per http nicht funktioniert, habe ich Abfragen auf eine lokale Datei umgeleitet. Der Zusammenhang jetzt klarer?

          --
          eigentlich ist mir bewusst, dass ich hin und wieder einfach mal die Klappe halten sollte. Doch genau in den unpassendsten Momenten erwische ich mich dabei, wie ich dennoch etwas sage ...
          1. Hallo,

            Für mich bleibt es bei Problembeschreibungsfehler, denn ich kann nach wie vor nicht erkennen, was da wie zusammenspielen soll. Was hat die Abfrage, die ja über get_headers() funktioniert, mit dem "lokalen Wrapper" zu tun?
            Da file_exists() per http nicht funktioniert, habe ich Abfragen auf eine lokale Datei umgeleitet. Der Zusammenhang jetzt klarer?

            ja, ich hatte es vorher schon beinahe verstanden.

            Das löst aber dein Problem nicht. Entweder du rufst das zusätzliche lokale Testscript mit file_exists() über HTTP auf, dann hast du nichts gewonnen, weil file_exists() kein brauchbares Ergebnis liefert, wenn man damit HTTP-Ressourcen abfragt.

            Oder du lässt file_exists() auf Dateisystemebene auf das zusätzliche Script zugreifen - dann wird aber kein PHP ausgeführt, keine URL-Parameter oder PATH_INFO ausgewertet, nichts. Bestenfalls prüfst du damit die Existenz der zusätzlichen Scriptdatei - in Wirklichkeit nicht einmal das, weil PATH_INFO und/oder URL-Parameter als Teil des Dateinamens interpretiert werden.

            Man kann sich drehen, wie man will - der Arsch bleibt immer hinten. ;-)

            Ciao,
             Martin

            --
            PCMCIA: People Can't Memorize Computer Industry Acronyms
            Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
            1. Mahlzeit,

              Man kann sich drehen, wie man will - der Arsch bleibt immer hinten. ;-)

              In diesem Fall geb ich dir mal recht. Aber ich kenne da Leute ..... :D

              Naja, wird wohl nur bleiben, dass ich per Auto-Ersetzen alle Vorkommen von file_exists() in der kompletten Software ersetze und dann ne Funktion schreibe, die auch entfernte Ressourcen auf Existenz testen kann.

              Und dann stellt sich nur noch die Frage, wieso die Programmierer selbst glauben, es würde klappen. Gut, dass das nur ne Übergangslösung ist.

              --
              eigentlich ist mir bewusst, dass ich hin und wieder einfach mal die Klappe halten sollte. Doch genau in den unpassendsten Momenten erwische ich mich dabei, wie ich dennoch etwas sage ...
              1. Mahlzeit,

                Naja, wird wohl nur bleiben, dass ich per Auto-Ersetzen alle Vorkommen von file_exists() in der kompletten Software ersetze und dann ne Funktion schreibe, die auch entfernte Ressourcen auf Existenz testen kann.

                Wenn es Dir nur um Bilder geht, dann kannst Du das auch clientseitig lösen: onError an alle img-Tags.

                MfG

                1. Mahlzeit,

                  Wenn es Dir nur um Bilder geht, dann kannst Du das auch clientseitig lösen: onError an alle img-Tags.

                  Erklär mal bitte, was du genau meinst.
                  Die Software schreibt ein <img src="noimage.gif" /> in den Quelltext.
                  Wie löst ein onError mein Problem?

                  --
                  eigentlich ist mir bewusst, dass ich hin und wieder einfach mal die Klappe halten sollte. Doch genau in den unpassendsten Momenten erwische ich mich dabei, wie ich dennoch etwas sage ...
                  1. Mahlzeit,
                    Die Software schreibt ein <img src="noimage.gif" /> in den Quelltext.

                    Ist doch egal, was da steht.

                    Wie löst ein onError mein Problem?

                    Im error-Ereignis-Handler (das wird gefeiert, wenn der Browser die Bildressource nicht findet) wird eine andere Ressource zugewiesen. Einfach das bischen Code an jede Seite dranhängen:

                      
                    	var imgs = document.getElementsByTagName('img');  
                    	  
                    	function imgerr(e){  
                    		e.target.src = 'http://rolfrost.de/red.gif';  
                    	}  
                    	  
                    	for(var i = 0; i < imgs.length; i++){  
                    		var target = imgs[i];  
                    		target.addEventListener('error', imgerr);  
                    	}  
                    
                    
                    1. Mahlzeit,

                      Im error-Ereignis-Handler (das wird gefeiert, wenn der Browser die Bildressource nicht findet) wird eine andere Ressource zugewiesen. Einfach das bischen Code an jede Seite dranhängen:

                      Und was genau bringt das jetzt, wenn ein Serverseitiges Script den Code für ein Bild ausliefert, das angezeigt wird, wenn das _Serverseitge_ Script das Bild nicht findet?

                      --
                      eigentlich ist mir bewusst, dass ich hin und wieder einfach mal die Klappe halten sollte. Doch genau in den unpassendsten Momenten erwische ich mich dabei, wie ich dennoch etwas sage ...
                      1. Und was genau bringt das jetzt, wenn ein Serverseitiges Script den Code für ein Bild ausliefert, das angezeigt wird, wenn das _Serverseitge_ Script das Bild nicht findet?

                        Beispiel: (sic: Beispiel)

                        Du "baust" einen Webshop. Freundlicherweise hat sich der künftige Betreiber damit abgefunden, dass, um die Sache effektiv zu machen, in den Artikelnummern die Artikel, die Größen und Farben kodiert sind.

                        * "0815-3-48" sei also die Artikelnummer für ein  bestimmtes Shirt - in der Farbe Rot - Größe 48

                        Freundlicherweise hat sich der künftige Betreiber damit abgefunden, dass die Produktfotos praktischerweise die Artikelnummer tragen.

                        * 0815-3-48.png ist also idealerweise das Bild ein bestimmten Shirts.

                        Nur wird es dem künftigen Betreiber kaum einfallen, sich eine Hundertschaft Models kommen zu lassen um ein rotes Shirt in allen Größen zu fotografieren.

                        Also muss eine Möglichkeit geben, nach 0815-3.png und womöglich sogar 0815.png (falls das Shirt nur in einer Farbe fotografiert wurde) zu suchen.

                        Das Dateisystem selbst ist in diesem Fall nämlich Datenbank genug.

                        Jörg Reinholz

                        1. Ups. Ich sehe gerade, ich habe das Thema etwas verfehlt.

                          Naja, habe ich eben ein Beispiel geliefert, falls sich jemand fragt, wozu M. das gebrauchen KÖNNTE. (Falls die Grafiken auf einem anderen Server liegen)

                          Jörg Reinholz

                      2. Mahlzeit,

                        Im error-Ereignis-Handler (das wird gefeiert, wenn der Browser die Bildressource nicht findet) wird eine andere Ressource zugewiesen. Einfach das bischen Code an jede Seite dranhängen:

                        Und was genau bringt das jetzt, wenn ein Serverseitiges Script den Code für ein Bild ausliefert, das angezeigt wird, wenn das _Serverseitge_ Script das Bild nicht findet?

                        Nun, ich habe Dir vor ein paar Tagen eine serverseitige Lösung gepostet. Eine clientseitige Lösung ebenfalls, der Arbeitsaufwand für Letztere ist minimal, vorausgesetzt, Dein Shopsystem tut mit Templates wo Du das bischen JS in wenigen Minuten einbauen kannst.

                        Seit 1.1. machst Du damit rum, da wirds ja langsam Zeit für die Praxis, d.h., ob Du Dich für eine serverseitige oder clientseitige Lösung entscheidest oder für Beides, das musst Du schon selbst entscheiden.

                        MfG

                        1. Mahlzeit,

                          Nun, ich habe Dir vor ein paar Tagen eine serverseitige Lösung gepostet. Eine clientseitige Lösung ebenfalls, der Arbeitsaufwand für Letztere ist minimal, vorausgesetzt, Dein Shopsystem tut mit Templates wo Du das bischen JS in wenigen Minuten einbauen kannst.

                          Und ich hab von Anfang an geschrieben, dass am Original nichts geändert werden soll und hab das mehrfach wiederholt.
                          Ich hab keine Ahnung, wieso du das konsequent ignorierst.

                          Das Problem ist längst gelöst, leider ohne Hilfe von hier. Diesmal hatte ich aber den Eindruck, dass es völlig egal war, wie das Problem war, gepostet wurde was völlig anderes. Vielleicht Vollmond oder so. Allerdings stellt sich die Frage ob hier spezielle Probleme, die über den Tellerrand hinausgehen, überhaupt noch Sinn machen.

                          --
                          eigentlich ist mir bewusst, dass ich hin und wieder einfach mal die Klappe halten sollte. Doch genau in den unpassendsten Momenten erwische ich mich dabei, wie ich dennoch etwas sage ...
  3. Liebe Mitdenker,
    liebe Wissende,
    liebe Neugierige,

    ja!

    wie die Überschrift vermuten lässt, es soll per file_exists() die existenz einer Datei auf einem Server geprüft werden (speziell Bilder).

    Das sollte man lieber per HEAD-Request regeln.
    Damit könnte man auch ermitteln, ob die Ressource direkt ausgeliefert wrd (200) oder über einen Redirect (3xx) oder eben gar nicht (4xx)

    Vielleicht steht Dir die passende Erweiterung sogar zur Verfügung
    http://php.net/manual/de/function.http-head.php
    Dann musst Du den HEAD-Request nicht einmal selbst implementieren

    Spirituelle Grüße
    Euer Robert

    --
    Möge der Forumsgeist wiederbelebt werden!
    1. Mahlzeit,

      Das sollte man lieber per HEAD-Request regeln.
      Damit könnte man auch ermitteln, ob die Ressource direkt ausgeliefert wrd (200) oder über einen Redirect (3xx) oder eben gar nicht (4xx)

      Vielleicht steht Dir die passende Erweiterung sogar zur Verfügung
      http://php.net/manual/de/function.http-head.php
      Dann musst Du den HEAD-Request nicht einmal selbst implementieren

      Ok, dann teilst du mir bitte noch mit, wie ich das umsetze, ohne den originalen Code zu ändern. Ich hab absolut keine Ahnung, wie das gehen soll.

      --
      eigentlich ist mir bewusst, dass ich hin und wieder einfach mal die Klappe halten sollte. Doch genau in den unpassendsten Momenten erwische ich mich dabei, wie ich dennoch etwas sage ...
  4. Liebe Mitdenker,
    liebe Wissende,
    liebe Neugierige,

    ja!

    Gib uns doch mal einen Hinweis, in welchem Zusammenhang Du die Existenz einer _Datei_ auf einem entfernten Server prüfen willst.

    Das ist per HTTP nicht ohne Remote Precure auf dem anderen Server möglich. Da kannst Du nur die Existenz/Zugänglichkeit von Ressourcen abfragen.

    Spirituelle Grüße
    Euer Robert

    --
    Möge der Forumsgeist wiederbelebt werden!
    1. Mahlzeit,

      Gib uns doch mal einen Hinweis, in welchem Zusammenhang Du die Existenz einer _Datei_ auf einem entfernten Server prüfen willst.

      Ok, Ein Shopsystem prüft, ob ein Bild existiert, sonst wird ein Default-Bild angezeigt.

      Das ist per HTTP nicht ohne Remote Precure auf dem anderen Server möglich. Da kannst Du nur die Existenz/Zugänglichkeit von Ressourcen abfragen.

      Dann erklär mir, wie ich das per file_exists() anstelle. Denn exakt das war meine Frage.

      Ein "geht nicht" würde meine Annahme bestätigen, aber eine Wortklauberei, die lediglich meine Aussage wiederholt, dass es nicht klappt, hilft mir nur wenig bis gar nix.

      --
      eigentlich ist mir bewusst, dass ich hin und wieder einfach mal die Klappe halten sollte. Doch genau in den unpassendsten Momenten erwische ich mich dabei, wie ich dennoch etwas sage ...
  5. Liebe Mitdenker,
    liebe Wissende,
    liebe Neugierige,

    ja!

    wie die Überschrift vermuten lässt, es soll per file_exists() die existenz einer Datei auf einem Server geprüft werden (speziell Bilder).
    Trotz allow_url_open=on kein Erfolgt.

    das heißt ja auch "allow_url_fopen" und außerhalb der Ini-Datei (z. B. .htaccess) sollte man die Konfiguration mit "php_flag allow_url_fopen 1" vornehmen.

    Probier das bitte erst einmal aus, bevor Du hier weiter herumpolterst ;-)

    Spirituelle Grüße
    Euer Robert

    --
    Möge der Forumsgeist wiederbelebt werden!
    1. Mahlzeit,

      Probier das bitte erst einmal aus, bevor Du hier weiter herumpolterst ;-)

      Diesen Fehler schliesse ich aus, da ich in der php.ini lediglich das off in on ausgetauscht habe.

      --
      eigentlich ist mir bewusst, dass ich hin und wieder einfach mal die Klappe halten sollte. Doch genau in den unpassendsten Momenten erwische ich mich dabei, wie ich dennoch etwas sage ...
      1. Liebe Mitdenker,
        liebe Wissende,
        liebe Neugierige,

        ja!

        Mahlzeit,

        Probier das bitte erst einmal aus, bevor Du hier weiter herumpolterst ;-)

        Diesen Fehler schliesse ich aus, da ich in der php.ini lediglich das off in on ausgetauscht habe.

        Und den Web-Server danach auch neu gestartet?
        Zumindest bei PHP als Modul des Webservers (Apache) ist das notwendig.

        Außerdem ist es wahrscheinlich, dass Zugriffe per HTTP von innen nach außen durch eine Firewall untersagt sind. Das hängt vom Provider ab und vom Vertrag. Hattest Du uns etwas darüber erzählt? Dann habe ich es übersehen :-O

        Spirituelle Grüße
        Euer Robert

        --
        Möge der Forumsgeist wiederbelebt werden!
        1. Mahlzeit,

          Und den Web-Server danach auch neu gestartet?
          Zumindest bei PHP als Modul des Webservers (Apache) ist das notwendig.

          PHP-FCgi

          Außerdem ist es wahrscheinlich, dass Zugriffe per HTTP von innen nach außen durch eine Firewall untersagt sind. Das hängt vom Provider ab und vom Vertrag.

          Du hast einen Provider, der dir untersagt, dass du per HTTP mit Server kommunizierst? Den solltest du wechseln. Allerdings stellt sich die Frage, wie du dann hier im Forum posten kannst.

          Hattest Du uns etwas darüber erzählt? Dann habe ich es übersehen :-O

          Wäre es relevant, hätte ich es erzählt. Allerdings sehe ich keine Relevanz darin, da eine Firewall auf Bilder, die auch im Browser aufgerufen werden können (müssen!!) absoluter Schwachsinn wäre.

          Ich werde dieses Thema für mich hier abschliessen, denn offensichtlich bin ich entweder zu dumm, das Problem zu beschreiben (wobei die Frage "geht file_exists() irgendwie per http" IMO absolut eindeutig ist) oder sie wird nicht verstanden.

          --
          eigentlich ist mir bewusst, dass ich hin und wieder einfach mal die Klappe halten sollte. Doch genau in den unpassendsten Momenten erwische ich mich dabei, wie ich dennoch etwas sage ...
          1. Liebe Mitdenker,
            liebe Wissende,
            liebe Neugierige,

            ja!

            Und den Web-Server danach auch neu gestartet?
            Zumindest bei PHP als Modul des Webservers (Apache) ist das notwendig.

            PHP-FCgi

            Außerdem ist es wahrscheinlich, dass Zugriffe per HTTP von innen nach außen durch eine Firewall untersagt sind. Das hängt vom Provider ab und vom Vertrag.

            Du hast einen Provider, der dir untersagt, dass du per HTTP mit Server kommunizierst? Den solltest du wechseln. Allerdings stellt sich die Frage, wie du dann hier im Forum posten kannst.

            Da scheint das Haar in der Suppe zu liegen:

            Du hast bisher den Eindruck erweckt, dass Du von einem Server (A) mittles file_exists() und dem fopen-wrapper für http:// auf einem anderen Server (B) nachschauen willst, ob bestimmte Ressourcen (Bilder) dort vorhanden sind.

            Das wäre auf dem Server A dann ein HTTP-Zugriff von innen nach außen, auf dem Server B ein normaler HTTP-Zugriff von außen nach innen. Die meisten Billig-Provider sperren in ihrer Firewall den HTTP-Request von innan nach außen, um sich viel möglichen Ärger vom Leibe zu halten.

            Aber nun erzähl doch nochmal genauer, was Du eigentlich willst.

            Hattest Du uns etwas darüber erzählt? Dann habe ich es übersehen :-O

            Wäre es relevant, hätte ich es erzählt. Allerdings sehe ich keine Relevanz darin, da eine Firewall auf Bilder, die auch im Browser aufgerufen werden können (müssen!!) absoluter Schwachsinn wäre.

            Den Schwachsinn verzapfst Du hier, indem Du uns mit deinen wirren Angaben in die Irre schickst.
            Also bitte nochmal sortiert von vorne.

            Wenn sich alles auf ein und demselben Server abspielt, reicht es doch, mittels file_exists($path) im Dateisystem nachzuschauen, aber selbstverständlich mit dem passend aufbereiteten $path. Da wird zu 90% Wahrscheinlichkeit dann auch dein Fehler liegen.

            Spirituelle Grüße
            Euer Robert

            --
            Möge der Forumsgeist wiederbelebt werden!
            1. Mahlzeit,

              Du hast bisher den Eindruck erweckt, dass Du von einem Server (A) mittles file_exists() und dem fopen-wrapper für http:// auf einem anderen Server (B) nachschauen willst, ob bestimmte Ressourcen (Bilder) dort vorhanden sind.

              Ich habe nicht dein Eindruck erweckt, ich habe das ganz klar gesagt.

              Das wäre auf dem Server A dann ein HTTP-Zugriff von innen nach außen, auf dem Server B ein normaler HTTP-Zugriff von außen nach innen. Die meisten Billig-Provider sperren in ihrer Firewall den HTTP-Request von innan nach außen, um sich viel möglichen Ärger vom Leibe zu halten.

              Ich habe weder einen Billig-Provider noch eine Firewall, die solche Anfragen blockt. Ich betreibe meine Server selbst und habe eine ziemlich genaue Vorstellung davon, was ich damit machen kann und was nicht.

              Aber nun erzähl doch nochmal genauer, was Du eigentlich willst.

              Ok, ich versuche es ganz einfach zu formulieren.

              Ich will per file_exists() per HTTP prüfen, ob ein Bild auf einem Server existiert.

              Den Schwachsinn verzapfst Du hier, indem Du uns mit deinen wirren Angaben in die Irre schickst.

              Also weil ich etwas für nicht relevant halte (z.B. weil keine Firewall existiert) verzapfe ich Schwachsinn? Interessante These.

              Wenn sich alles auf ein und demselben Server abspielt, reicht es doch, mittels file_exists($path) im Dateisystem nachzuschauen, aber selbstverständlich mit dem passend aufbereiteten $path. Da wird zu 90% Wahrscheinlichkeit dann auch dein Fehler liegen.

              Na hab ich ein Glück, das du mir das erzählst. Dummerweise treffen auf mich die restlichen 10%, weil es eben _verschiedene_ Server sind. Sonst hätte ich nicht mehrfach widerholt, dass ich file_exists() per HTTP benötige.

              Wir haben jetzt genau zwei Möglichkeiten. Entweder bist du der Troll oder ich. In beiden Fällen hab ich keinen Bock mehr. Ich hab mit mittlerweile ne Lösung gebaut, die zwar nicht perfekt ist aber funktioniert.

              Damit kann, von meiner Seite aus, der Thread geschlossen werden.

              EOT für mich, ich sehe da keinen Sinn mehr.

              --
              eigentlich ist mir bewusst, dass ich hin und wieder einfach mal die Klappe halten sollte. Doch genau in den unpassendsten Momenten erwische ich mich dabei, wie ich dennoch etwas sage ...
            2. Tach!

              Du hast bisher den Eindruck erweckt, dass Du von einem Server (A) mittles file_exists() und dem fopen-wrapper für http:// auf einem anderen Server (B) nachschauen willst, ob bestimmte Ressourcen (Bilder) dort vorhanden sind.

              Es ist bereits geklärt, dass dem PHP-Handbuch die Information zu entnehmen ist, dass file_exists() für den http://-Wrapper nicht funktionieren kann. Es ist deshalb nicht weiter relevant, ob eine Firewall oder sonstwas eine nicht funktioniere Funktion behindert oder nicht.

              Aber nun erzähl doch nochmal genauer, was Du eigentlich willst.

              Das allerdings hab ich auch nicht konkret entnehmen können.

              dedlfix.

              1. Liebe Mitdenker,
                liebe Wissende,
                liebe Neugierige,

                ja!

                Es ist bereits geklärt, dass dem PHP-Handbuch die Information zu entnehmen ist, dass file_exists() für den http://-Wrapper nicht funktionieren kann.

                Ich hatte das zwar auch so im Gedächtnis, kann das aber aus dem Handbuch nicht erkennen.
                Dort steht unter anderem:

                  
                  
                Tip  
                  
                As of PHP 5.0.0, this function can also be used with some URL wrappers. Refer to Supported Protocols and Wrappers to determine which wrappers support stat() family of functionality.  
                  
                
                

                Folgt man dem Link "Supported Protocols and Wrappers", dann werden dort alle aufgeführt.

                Wo steht das denn nun substantiiert, dass es nicht geht?

                Spirituelle Grüße
                Euer Robert

                --
                Möge der Forumsgeist wiederbelebt werden!
                1. Tach!

                  Es ist bereits geklärt, dass dem PHP-Handbuch die Information zu entnehmen ist, dass file_exists() für den http://-Wrapper nicht funktionieren kann.

                  Ich hatte das zwar auch so im Gedächtnis, kann das aber aus dem Handbuch nicht erkennen.
                  Dort steht unter anderem:

                  Tip

                  As of PHP 5.0.0, this function can also be used with some URL wrappers. Refer to Supported Protocols and Wrappers to determine which wrappers support stat() family of functionality.

                  
                  >   
                  > Folgt man dem Link "Supported Protocols and Wrappers", dann werden dort alle aufgeführt.  
                  > Wo steht das denn nun substantiiert, dass es nicht geht?  
                    
                  Weiter folgen zum http://-Wrapper, denn den verwendet M. ja hier. Da hast du dann eine Tabelle, aus der hervorgeht, dass das erwähnte stat() nicht unterstützt wird.  
                    
                    
                  dedlfix.
                  
                  1. Liebe Mitdenker,
                    liebe Wissende,
                    liebe Neugierige,

                    ja!

                    Weiter folgen zum http://-Wrapper, denn den verwendet M. ja hier. Da hast du dann eine Tabelle, aus der hervorgeht, dass das erwähnte stat() nicht unterstützt wird.

                    Ganz schön verklausuliert.

                    Dann bleibt ihr/ihm immer noch der Zugriff über das Filesystem.

                    Wenn es doch ihre/seine Server sind und sie/er damit alles machen darf, dann wäre es doch ein Leichtes, das ferne Filesystem mit einem sshfs passend in das eigene einzubinden, und das Problem könnte sich von ganz alleine lösen.

                    Spirituelle Grüße
                    Euer Robert

                    --
                    Möge der Forumsgeist wiederbelebt werden!