verwenden Sie php read file über Netzwerk mit ip oder computername
Wenn ich die php-Datei Lesen, auf LAN-Netzwerk über ip oder Computername.
$url = "\\\\192.168.0.200\\testshare\\1.txt";
if(file_exists($url) == TRUE) {
echo "OK";
} else {
echo "Error";
}
Ergebnis: immer "Fehler".
Wenn ich die Funktion file_get_contents ($url , true); Ergebnis:
Warning: file_get_contents(\\192.168.0.200\testshare\1.txt) [function.file-get-contents]: failed to open stream: Permission denied in D:\services\htdocs\test.php on line 3
Natürlich, den Ordner "testshare" die Option Freigabe und Erlaubnis jeder die volle Kontrolle. Wenn ich Band web-browser: \192.168.0.200\testshare\1.txt Es liest Inhalt der Datei 1.txt.
Können Sie mir helfen? Jede Idee hilft mir, ich danke sehr.
- ich denke, man kann nicht prüfen, ob Datei-Existenz auf anderen pc
- Welche version von windows?
- Der technische Begriff ist hier, dass Sie versuchen, Zugriff auf eine SMB-Freigabe. Ich habe keine Erfahrung mit PHP zu tun. Wenn Sie geben Sie in einem browser (IE?), dann das OS (Windows) verarbeitet, die offensichtlich funktioniert.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist, wie Sie es tun können (Win 7) lokal, könnten Sie haben zu springen über einige firewall-Hürden, wenn Ihr eine remote-server
Erstellen Sie einen leeren Ordner auf Ihrem desktop und legen Sie Ihre Datei, klicken Sie dann mit der rechten Maustaste und klicken Sie auf freigeben... dann bestimmten Menschen, dann in der dropdown-Optionen aktivieren, wählen Sie alle.
Erhalten Sie die Adresse, die aussieht wie
testshare (file://YOUR-PC-NAME/Users/YourAcount/Desktop/testshare)
Dann verwenden Sie einfach die Adresse in etwa so:
Für remote-server erinnern zu ermöglichen-ports 137,445 in Ihrer software-firewall, auch das ist ein Sicherheitsrisiko, so lassen Sie es nicht außerhalb der WAN-Datenverkehr zugreifen können. Ich erinnere mich an die Tage, wenn xp hatte Laufwerk C: standardmäßig freigegeben..
Klingt wie Sie versuchen, auf eine Netzwerkfreigabe, (smb) über PHP.
file_get_contents
unterstützt nur die folgende Protokolle.SMB nicht unterstützt-Protokoll, allerdings gibt es ein paar Implementierungen zur Verfügung. Die eine, die immer wieder in meine sucht ist smbwebclient (ungetestet):