per PHP (auf Webserver) Datei (auf lokalem PC) öffnen?
jc
- php
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
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
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>?
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
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
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.
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
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
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
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
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