Sebastian Becker: file_exists, filesize equivalent remote server

Hallo,

zu den Funktionen "file_exists" und "filesize" heißt es im PHP Manual:

This function will not work on remote files; the file to be examined must be accessible via the server's filesystem.

Mit welchen Funktionen oder Tricks kann ich aber das Vorhandenseins bzw. die Größe einer Datei auf einer anderen Domain testen?

Danke, Grüße,

Sebastian

  1. Hallo Sebastian!

    zu den Funktionen "file_exists" und "filesize" heißt es im PHP Manual:

    Versuchs mal mit fopen() oder so. (http://www.php.net/manual/en/function.fopen.php)

    MfG
    Götz

  2. Aloha!

    Mit welchen Funktionen oder Tricks kann ich aber das Vorhandenseins bzw. die Größe einer Datei auf einer anderen Domain testen?

    Hängt davon ab, mit welchen Methoden du auf den fremden Server zugreifen kannst. fopen() kann auch HTTP- und FTP-Server bedienen und Dateien öffnen. Damit kannst du deren Existenz feststellen. Die Größe mußt du wohl oder übel durch Auslesen aller Bytes der Dateii zählen. Das ist insgesamt keine sehr performante Geschichte, wenn du a) große Dateien hast oder b) viele Dateien, oder c) beides zusammen.

    Eventuell kann man sich aber auch was eigenes stricken, z.B. Parsen des Directory-Listings des Webservers (sofern keine index.* existiert) oder direkter FTP-Zugriff.

    - Sven Rautenberg

    1. Aloha, Sven,

      Hängt davon ab, mit welchen Methoden du auf den fremden Server zugreifen kannst. fopen() kann auch HTTP- und FTP-Server bedienen und Dateien öffnen. Damit kannst du deren Existenz feststellen. Die Größe mußt du wohl oder übel durch Auslesen aller Bytes der Dateii zählen. Das ist insgesamt keine sehr performante Geschichte, wenn du a) große Dateien hast oder b) viele Dateien, oder c) beides zusammen.

      Eventuell kann man sich aber auch was eigenes stricken, z.B. Parsen des Directory-Listings des Webservers (sofern keine index.* existiert) oder direkter FTP-Zugriff.

      danke für Deinen Hinweis - das klingt ja unerfreulich. :-(

      Ich verstehe auch nicht, warum das Auslesen der Filegröße auf einem anderen Server nicht möglich ist, denn es geht ja sogar mit dem Browser.

      Ich habe mir jetzt zunächst so geholfen, daß ich auf den fremden Server (der selben Firma) verlinke, aber die Filegröße von einem Duplikat auf dem eigentlichen Server auslese.

      Grüße, Sebastian