Bibo: mit PHP Zugriff auf externe Datei

Hi

ich hab ne Seite gebastelt und verwende PHP, viele Funktionen klappen wunderbar

jetzt will ich auf eine externe Datei zugreifen

<?php

readfile("ftp://*****:******@ftp-outgoing.dwd.de/gds/specials/forecasts/text/FPDL10_DWMI_271745");

?>

Die Datei liegt auf einem Passwiortgeschütztem Server (PW und Login habe ich unkenntlich gemacht ;)

Die Datei hat des Weiteren keine Dateinamenserweiterung (es steht nur Text drin)

Wenn die Datei auf meinem Server liegt, dann funktioniert der Befehl

Habe ich keine Rechte auf dem Server?

  1. Mahlzeit Bibo,

    Wenn die Datei auf meinem Server liegt, dann funktioniert der Befehl

    Das ist schön. Und wo ist dabei das Problem?

    Habe ich keine Rechte auf dem Server?

    Das kann Dir höchstens der Administrator des entsprechenden Servers beantworten.

    Da Du weiterhin keine wirklich hilfreiche und aussagekräftige Fehlerbeschreibung und/oder -meldung geliefert hast, verdammst Du Deine Leser zum (mehr oder weniger) heiteren Lösungsraten.

    Wenn Du z.B. in der online verfügbaren PHP-Dokumentation zum Thema "readfile()" nachgeschlagen hättest, wärst Du über den "Tipp" zu dem Hinweis gelangt, dass es eine Konfigurationseinstellung von PHP ist, ob es überhaupt generell erlaubt ist, Dateien mittels Angabe einer URL zu öffnen.

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. Hello,

      Wenn Du z.B. in der online verfügbaren PHP-Dokumentation zum Thema "readfile()" nachgeschlagen hättest, wärst Du über den "Tipp" zu dem Hinweis gelangt, dass es eine Konfigurationseinstellung von PHP ist, ob es überhaupt generell erlaubt ist, Dateien mittels Angabe einer URL zu öffnen.

      ... nur sollte es dann nicht eine qualifizierte Fehlermeldung geben, wenn es _nicht_ erlaubt, aber trotzdem versucht wird?

      Liebe Grüße aus Syburg bei Dortmund

      Tom vom Berg

      --
      Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
      1. Hallo

        Wenn Du z.B. in der online verfügbaren PHP-Dokumentation zum Thema "readfile()" nachgeschlagen hättest, wärst Du über den "Tipp" zu dem Hinweis gelangt, dass es eine Konfigurationseinstellung von PHP ist, ob es überhaupt generell erlaubt ist, Dateien mittels Angabe einer URL zu öffnen.

        ... nur sollte es dann nicht eine qualifizierte Fehlermeldung geben, wenn es _nicht_ erlaubt, aber trotzdem versucht wird?

        Kann das PHP überhaupt? Es wird ja auf eine externe Ressource zugegriffen (oder eben auch nicht). PHP -oder genauer: die verwendete Funktion- müsste dann auf etwaige Fehlermeldungen des Zielsystems des Zugriffs reagieren, oder?

        Tschö, Auge

        --
        Die deutschen Interessen werden am Liechtenstein verteidigt.
        Veranstaltungsdatenbank Vdb 0.2
        1. Hi,

          ... nur sollte es dann nicht eine qualifizierte Fehlermeldung geben, wenn es _nicht_ erlaubt, aber trotzdem versucht wird?

          Kann das PHP überhaupt?

          Wenn in der PHP-Konfiguration des Systems, von dem aus der Zugriff versucht wird, die Nutzung der Funktion untersagt ist - dann meldet PHP das natuerlich.

          Es wird ja auf eine externe Ressource zugegriffen (oder eben auch nicht). PHP -oder genauer: die verwendete Funktion- müsste dann auf etwaige Fehlermeldungen des Zielsystems des Zugriffs reagieren, oder?

          Wenn ueber das Protokoll FTP zugegriffen wird, dann ist ja auch definiert, wie eine ablehnende Antwort bei verweigertem Zugriff zu Formulieren ist.

          MfG ChrisB

          --
          „This is the author's opinion, not necessarily that of Starbucks.“
          1. Hallo

            ... nur sollte es dann nicht eine qualifizierte Fehlermeldung geben, wenn es _nicht_ erlaubt, aber trotzdem versucht wird?

            Kann das PHP überhaupt?

            Wenn in der PHP-Konfiguration des Systems, von dem aus der Zugriff versucht wird, die Nutzung der Funktion untersagt ist - dann meldet PHP das natuerlich.

            Klar, der Fehler (die "Fehlbenutzung" der konkreten Funktion) tritt ja auch auf dem lokalen System auf.

            Es wird ja auf eine externe Ressource zugegriffen (oder eben auch nicht). PHP -oder genauer: die verwendete Funktion- müsste dann auf etwaige Fehlermeldungen des Zielsystems des Zugriffs reagieren, oder?

            Wenn ueber das Protokoll FTP zugegriffen wird, dann ist ja auch definiert, wie eine ablehnende Antwort bei verweigertem Zugriff zu Formulieren ist.

            Noch mal nachgeschaut (war mir letzte Nacht nüscht mehr):
            readfile kann, wenn fopen_wrappers erlaubt ist (siehe php.ini), auch per FTP auf die gewünschte Datei zugreifen. Ist dies nicht erlaubt, kommt demnach eine Fehlermeldung vom lokalen System (PHP), falls die Erlaubnis besteht und die Anfrage auf den Zielsystem scheitert, müsste die Fehlermeldung von dort kommen, was aber nach Lektüre der Seite zum FTP-Wrapper nicht der Fall zu sein scheint. Da steht immer nur "the connection will fail", was für mich impliziert, dass die benutzte Funktion false zurückgibt und sich zum konkreten Grund ausschweigt.

            Abgesehen von der schon angemerkten eventuellen Nichtausgabe von Fehlern, deren Behebung Unklarheiten beseitigen könnte, wäre die Verwendung der FTP-Funktionen zwar aufwendiger aber auch empfehlenswert. Man kann so schließlich bei jedem einzelnen Schritt auf möglicherweise auftretende Fehler reagieren.

            Tschö, Auge

            --
            Die deutschen Interessen werden am Liechtenstein verteidigt.
            Veranstaltungsdatenbank Vdb 0.2
      2. Mahlzeit Tom,

        ... nur sollte es dann nicht eine qualifizierte Fehlermeldung geben, wenn es _nicht_ erlaubt, aber trotzdem versucht wird?

        Sicher. Der OP hat ja aber überhaupt gar keine sinnvollen oder hilfreichen Fehlermeldungen bzw. Problembeschreibungen genannt ... da liegt die Vermutung nahe, dass er etwaige Fehlermeldungen (Vielleicht ist sein PHP ja aber auch so konfiguriert, dass es derartige Meldungen einfach nicht ausspuckt?) einfach unterschlagen hat.

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|