Kann PHP Bild-Dateien von einem Netzlaufwerk lesen

Von: , 30.11.2009 00:57 Uhr

Guten Tag,

Bitte entschuldigt mein PHP Halbwissen. Ich habe mich in der letzten Zeit etwas mit PHP auseinander gesetzt und angefangen ein paar Seiten zu schreiben.

Als Umgebung habe ich ein XAMPP auf einem Win2003 Server der Web Edition.
Dabei bin ich jedoch auf eine Frage gestossen.
Ist es möglich, dass ich mit Hilfe von PHP Bilder die ich auf einer Seite anzeigen möchte von einem lokalen Netzwerkrechner lade?
Und wenn ja, wie definiere ich das dann.
Ich habe versucht ein Laufwerk auf dem Win-Server zu mounten und dann darauf zuzugreifen. Als lokaler User kein Problem.
Dann hab ich auch einmal versucht das Laufwerk über vhosts als Subdomain zu definieren um dann darüber die Dateien zuladen. Das jedoch schein definitiv ein Berechtigungsproblem zusein.
Wenn ich versuche mit Hilfe von readdir und opendir das Verzeichnis auszulesen, dann scheine ich zwar mit php an die Dateiinformationen zukommen, aber ein Anzeigen ist nicht möglich.

Hier mal der PHP Code den ich versuche zu benutzen:

<?php
$verzeichnis = "y:/"; //verbundenes Netzlaufwerk, freigegeben fuer "jeden"
$handle = openDir($verzeichnis);
while ($datei = readDir($handle)) {
if ($datei != "." && $datei != ".." && !is_dir($datei))
if (strstr($datei, ".gif") ||
strstr($datei, ".png") ||
strstr($datei, ".jpg")) {
$verzeichnis_datei = $verzeichnis . $datei;
$info = getImageSize($verzeichnis_datei);
echo "<img src=\"$verzeichnis_datei\"";
echo " width=\"$info[0]\" height=\"$info[1]\"> <br>\n";
}
}
}
closeDir($handle);
?>

Die Informationen der Bilder werden gefunden, ebenso auch die Namen, aber angezeigt wird nichts. Die URL die durch das Script zusammengesetzt wird und zBsp ein Bild sein soll ist:
file:///y:/webcam-09_Nov_28_14.46.48.jpg
Die Datei gibt es, sie ist natürlich aus dem Internet so nicht erreichbar. Darum meine Frage an Euch noch einmal. Wie kann ich diese Dateien von einem anderen Rechner auslesen. Ich möchte Sie ungern per FTP auf den Webserver übertragen müssen.

Vielen Dank.

1 Antworten zu dieser Frage

  1. Antwort von nach 4 Tagen 0 hilfreich
    Re: Kann PHP Bild-Dateien von einem Netzlaufwerk lesen

    Hi, Bitte entschuldigt mein PHP Halbwissen. Ich habe mich in der
    letzten Zeit etwas mit PHP auseinander gesetzt und angefangen
    ein paar Seiten zu schreiben.
    Kein Problem, jeder fängt mal klein an! Als Umgebung habe ich ein XAMPP auf einem Win2003 Server der
    Web Edition.
    Dabei bin ich jedoch auf eine Frage gestossen.
    Ist es möglich, dass ich mit Hilfe von PHP Bilder die ich auf
    einer Seite anzeigen möchte von einem lokalen Netzwerkrechner
    lade?
    Ja. Und wenn ja, wie definiere ich das dann.
    Ich habe versucht ein Laufwerk auf dem Win-Server zu mounten
    und dann darauf zuzugreifen. Als lokaler User kein Problem.
    Dann hab ich auch einmal versucht das Laufwerk über vhosts als
    Subdomain zu definieren um dann darüber die Dateien zuladen.
    Das jedoch schein definitiv ein Berechtigungsproblem zusein.
    Wenn ich versuche mit Hilfe von readdir und opendir das
    Verzeichnis auszulesen, dann scheine ich zwar mit php an die
    Dateiinformationen zukommen, aber ein Anzeigen ist nicht
    möglich.
    Eine Ausbesserung findet sich hier:
    Quelltext: http://dfoh.df.funpic.de/~ep/?f=test.php
    Aufrufbar: http://dfoh.df.funpic.de/~ep/test.php
    Beispielbilder: http://dfoh.df.funpic.de/~ep/img/

    Mit Bildabruffunktion, der Pfad wird nur einmal definiert! Außerdem darf die Bilddatei, keine (Back-) Slashs enthalten, sonst wird die Listenansicht angezeigt, die ohne Parameter funktioniert. Die kleine Abfrage am Anfang fragt ab, ob ?im=dateiname... definiert ist. Ist es das, wird überprüft ob / oder \ darin ist, wenn nicht, wird ein Image-Header gesetzt (klappt im Firefox wunderbar) und die Datei abgerufen, dann die Verbindung beendet. Ansonsten habe ich die Dateiauswahl verfeinert und den Dateinamen unter das Bild geschrieben, mit verlinkung zur Bildfunktion.
    Das wärs dann. Ich hoffe, dir damit geholfen zu haben!

    Viele Grüße,
    Endres

    Jetzt auf diese Frage antworten.