Automatische Dateiverarbeitung

3Dnavigator

Erfahrenes Mitglied
Hallo zusammen!

Ich habe ein "kleines" Problem bei dem ich nicht weiter komme:
Ich möchte eine automatische Verarbeitung einer lokal abgespeicherten Datei erzeugen. Das heisst, bei jedem Aufruf der PHP-Seite, soll die Datei "C:/test.txt" eingelesen und entsprechend verarbeitet werden. Das Verarbeiten ist ja das eine, aber ich schaff's nicht mal, die Datei upzuloaden...

Folgende Gegebenheiten sind vorhanden:
1. Ich weiss den exakten Dateinamen und Pfad der Datei - es soll also keine Abfrage in einem Formular stattfinden, in dem man die Datei auswählen und manuell "uploaden" muss. --> Es soll voll-automatisch passieren.
2. Da ich über das Internet im Büro die Anwendung bedienen muss, ist der FTP-Port 21 leider gesperrt.

Wie kann ich das also lösen?

Vielen Dank schon im Voraus für eure Hilfe!!
 
Solange der Server auf dem PHP läuft nicht der Rechner mit diesem Pfad (C:\test.txt) ist, wirst Du um ein normales Formular mit einem File-Input und manueller Auswahl nicht herum kommen. Das wären ja unglaubliche Sicherheitslücken, wenn irgendein dahergelaufener Server einfach Dateien auf meinem Rechner öffnen könnte.

Wenn der Server im gleichen (lokalen) Netzwerk ist, kannst Du vielleicht auch über eine Freigabe, also wieder über das Dateisystem, auf die Datei zugreifen.

Vielleicht findest Du in JavaScript ja auch eine Sicherheitslücke, mit der Du das temporär lösen könntest. Mir fällt aber keine ein (und ich würde sie auch nicht in einem Forum posten) und sie würde früher (Firefox) oder später (IE) geschlossen.

Ein signiertes JavaApplet oder ActiveX könnte auch helfen.

Nur mit PHP wirst Du keinen Upload ohne Aktivität des Users realisieren können.

Gruß hpvw
 
Hm, das hört sich auch plausibel an. :)
Dann muss ich also für die Datei ein <input type=file ...> erstellen. Darin kann ich ja den Pfad als vordefinierte Variable angeben, damit der Benutzer nur noch den submit-button anklicken muss. Richtig?
 
Auch das wird aus Sicherheitsgründen nicht zugelassen. Auch hier läge es an einem Bug in der JavaScript-Implementierung des Browsers, wenn der Browser ohne Aktion des Users die hochzuladende Datei bestimmen könnte.

Gruß hpvw
 
Probier es einfach aus, und Du wirst sehen, dass das Feld nach dem Laden leer ist:
XML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
    <head>
        <meta http-equiv="Content-Type"
            content="application/xhtml+xml; charset=UTF-8" />
        <title>Test: File-Input vorbelegen</title>
    </head>
    <body>
        <div>
            <form method="post" action="send.php" enctype="multipart/form-data">
                <fieldset><legend>Form-Upload</legend>
                    <input id="f" name="f" type="file" value="c:\temp.log" />
                    <input id="s" name="s" type="submit" value="Hochladen" />
                </fieldset>
            </form>
        </div>
    </body>
</html>
 
Zuletzt bearbeitet von einem Moderator:
Zurück