
Fehlerbehebung beim Dateizugriff auf Netzwerklaufwerke in PHP
Problem: Bei Verwendung von PHP auf einem Windows-Server, auf dem Xampp ausgeführt wird, Der Zugriff auf Dateien, die sich auf einem mit bestimmten Anmeldeinformationen bereitgestellten Netzlaufwerk befinden, schlägt fehl, wenn Apache als Dienst ausgeführt wird.
Untersuchung:
Der für den Dateizugriff verwendete Code:
<code class="php"><?php
echo shell_exec("whoami");
fopen('X:\text.txt',"r");
?></code>Führt zu folgendem Fehler:
theservername\thelocaluser Warning: fopen(X:\text.txt) [function.fopen]: failed to open stream: No such file or directory
Lösung:
Das Problem tritt auf, weil im Netzwerk zugeordnete Laufwerke nur für einzelne Benutzer zugänglich sind und nicht von Diensten genutzt werden. Stattdessen sollte der UNC-Pfad direkt verwendet werden:
<code class="php">fopen('\\server\share\text.txt', 'r');</code>Vorsichtsmaßnahmen:
Es bestehen jedoch einige Einschränkungen beim Zugriff auf UNC-Pfade mit den Dateisystemfunktionen von PHP:
Das obige ist der detaillierte Inhalt vonWie behebe ich Dateizugriffsprobleme auf Netzlaufwerken in PHP bei Verwendung von Xampp?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Welche Entwicklungstools gibt es?
Was soll ich tun, wenn gpedit.msc nicht geöffnet werden kann?
Welche Fähigkeiten sind erforderlich, um in der PHP-Branche zu arbeiten?
Was bedeutet OS?
Welche Tools zur statischen Codeprüfung gibt es?
Was ist einfacher, Thinkphp oder Laravel?
Der Unterschied zwischen WLAN und WLAN
So legen Sie die PPT-Seitenzahl fest