jc: per PHP (auf Webserver) Datei (auf lokalem PC) öffnen?

Hallo,

wie kann ich mit einem PHP-Script, welches sich auf meinem Webserver befindet, eine Datei öffnen, die sich hier auf meinem PC befindet?

Wenn ich die Datei innerhalb eines "<form>"-Bereiches per "<input type=file...> auswähle geht das ohne Probleme. Nur nützt mir das nichts, da ich HTML nicht gebrauchen kann.

fopen("C:\xyz.jpg", r) klappt nicht :(

Danke im Vorraus
cu
jc

  1. Hallo jc,

    wie kann ich mit einem PHP-Script, welches sich auf meinem Webserver befindet, eine Datei öffnen, die sich hier auf meinem PC befindet?

    überhaupt nicht.

    Wenn ich die Datei innerhalb eines "<form>"-Bereiches per "<input type=file...> auswähle geht das ohne Probleme. Nur nützt mir das nichts, da ich HTML nicht gebrauchen kann.

    Damit serverseitig diese Datei geöffnet werden kann, muss diese erst auf den Server hochgeladen werden.

    fopen("C:\xyz.jpg", r) klappt nicht :(

    Das wäre ja noch schöner. Stelle Dir bitte einmal vor, was man damit alles anrichten könnte.

    Freundliche Grüsse,

    Vinzenz

    1. Damit serverseitig diese Datei geöffnet werden kann, muss diese erst auf den Server hochgeladen werden.

      Ok, stimmt, wäre bissel risikoreich. :)
      Aber wie bekomme ich dann die Datei auf den Server? Gibt es keine andere möglichkeit als über <form>?

      1. hi,

        Aber wie bekomme ich dann die Datei auf den Server? Gibt es keine andere möglichkeit als über <form>?

        per HTTP wohl kaum.
        wenn dir beispielsweise FTP lieber ist, sei es dir unbenommen, die datei vor der ausführung des scriptes damit auf dem webspace zu platzieren ...

        gruß,
        wahsaga

        --
        Rest in peace, Dimebag!
        #
        "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
        1. wenn dir beispielsweise FTP lieber ist, sei es dir unbenommen, die datei vor der ausführung des scriptes damit auf dem webspace zu platzieren ...

          DAS wäre das, was ich machen werde, wenn es anders nicht machbar ist.
          Danke für den Tipp.

          cu
          jc

    2. hallo Vinzenz,

      wie kann ich mit einem PHP-Script, welches sich auf meinem Webserver befindet, eine Datei öffnen, die sich hier auf meinem PC befindet?
      überhaupt nicht.

      First: ich _liebe_ solche klaren Aussagen. ;-)
      Second: ich liebe sie auch dann, wenn sie nicht vollkommen korrekt sind.

      Selbstverständlich geht das nicht _umittelbar_. Aber du kannst (nur als Theorie) mit einem PHP-Script ja wesentlich "mehr" als bloß HTML an den aufrufenden Browser übergeben lassen. Was es da aber an Tricks geben könnte, wollen wir vielleicht so lange nicht ausführlicher debattieren, wie mit

      Wenn ich die Datei innerhalb eines "<form>"-Bereiches per "<input type=file...> auswähle geht das ohne Probleme. Nur nützt mir das nichts, da ich HTML nicht gebrauchen kann.

      argumentiert wird.

      Damit serverseitig diese Datei geöffnet werden kann, muss diese erst auf den Server hochgeladen werden.

      ACK ... aber auf ein paar Umwegen muß das gar nicht zwingend sein. Nimm einen Windows-Rechner, öffne alle sicherheitsrelavanten Verbindungen, laß ActiveX zu und baue eine schnucklige kleine ActiveX-Maschine in dein PHP-Script ein  -  schon geht es. Daß du dir jedesmal, wenn auch nur _eine_ solche Abfrage von einem Seitenbesucher gelaufen sein sollte, am besten gleich eine neue Festplatte zulegen solltest, ist natürlich ein anderes Thema ...

      Als Theorie (oder, wenn du so willst, als akademische Fragestellung) ist das "Problem" schon ein bißchen Nachdenken wert, selbst wenn nix Praktikables bei rauskommt.

      Grüße aus Berlin

      Christoph S.

      1. Hi,

        ACK ... aber auf ein paar Umwegen muß das gar nicht zwingend sein. Nimm einen Windows-Rechner, öffne alle sicherheitsrelavanten Verbindungen, laß ActiveX zu und baue eine schnucklige kleine ActiveX-Maschine in dein PHP-Script ein  -  schon geht es. Daß du dir jedesmal, wenn auch nur _eine_ solche Abfrage von einem Seitenbesucher gelaufen sein sollte, am besten gleich eine neue Festplatte zulegen solltest, ist natürlich ein anderes Thema ...

        Damit hat PHP immer noch keinen Zugriff, sondern allenfalls das ActiveX.
        ;-)

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    3. fopen("C:\xyz.jpg", r) klappt nicht :(

      Das wäre ja noch schöner. Stelle Dir bitte einmal vor, was man damit alles anrichten könnte.

      Hab jetzt nochmal drüber nachgedacht. Und dabei ist mir folgendes "aufgefallen":
      Nehmen wir an, ich habe eine HTML-Datei (mail.html, Ausschnitt):

      <form method=post enctype="multipart/form-data" action="mail.php">
        <input type=file size=20 name=datei>
        <input type=submit value="senden">
      </form>

      Dazu folgende PHP-Datei (mail.php, ebenfalls nur Ausschnitt):

      $content = fread(fopen($datei,"rb"),filesize($datei));

      Was öffnet das PHP-Script bei fopen()? Meiner Meinung nach doch eine Datei, die sich auf meinem PC befindet, oder?
      Das ist ja im Großen und Ganzen das, was ich brauche, nur würde ich es gerne OHNE die HTML-Datei bewerkstelligen.
      Ich müsste also wissen, was <input type=file ...> dem PHP-Script für Daten liefert.

      Kann mir da jemand weiterhelfen?

      cu
      jc

      1. Hi,

        <form method=post enctype="multipart/form-data" action="mail.php">
          <input type=file size=20 name=datei>
        $content = fread(fopen($datei,"rb"),filesize($datei));
        Was öffnet das PHP-Script bei fopen()? Meiner Meinung nach doch eine Datei, die sich auf meinem PC befindet, oder?

        Falsch - PHP öffnet lediglich eine Kopie der Datei, die beim Abschicken des Formulars mit selbigem an den Server übertragen wurde.

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  2. Hi,

    wie kann ich mit einem PHP-Script, welches sich auf meinem Webserver befindet, eine Datei öffnen, die sich hier auf meinem PC befindet?

    indem es sich bei Deinem PC um denjenigen Rechner handelt, auf dem der Webserver läuft.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  3. wie kann ich mit einem PHP-Script, welches sich auf meinem Webserver befindet, eine Datei öffnen, die sich hier auf meinem PC befindet?

    Wie meine Vorschreiber ja schon angemerkt haben, ist das nicht so einfach. Aber es geht, und auch ohne ActiveX, und so, daß PHP zugriff hat, und zwar über HTTP. Die geschichte ist die: Du mußt auf deinem lokalen PC auch einen Webserver laufen lassen (z.B. Apache, gibts auch für Windows). Dann holst du dir einen Namen für deine dynamische IP-Adresse, die du bei der EInwahl zugewiesen bekommen hast, z.B. bei DynDNS http://www.dyndns.org/, und läßt dein PHP-Script auf dem entvernten Server mittels dieses Domainnamens auf deinen lokalen Webserver zugreifen.

    Auf diese Weise hats du Leserechte für alle Datein, die im öffentlichen (oder auch passwortgeschützten) Bereich deines lokalen Webservers liegen. Wenn du auch Schreibrechte brauchst, kannst du das ganze statt über HTTP über FTP machen.

    Aber ob es die Sache dann wert ist (was ich nicht ausschließen möchte), mußt du selbst wissen

    Grüße

    Heizer