Ho un'unità di rete mappata alla lettera di unità X: \ che va a un disco rigido esterno con il percorso di "\\ X-Drive \ Public \ Data".PHP is_dir() restituisce false sull'unità di rete di Windows
Sto utilizzando Zend Server con Apache.
mio comando PHP è semplice
$isFolder = is_dir("x:/");
echo($isFolder); //FALSE
cose che dovreste sapere:
Il codice:
$isFolder = is_dir("c:/");
echo($isFolder); //TRUE
funziona come previsto.
Sto eseguendo il servizio Zend Apache come utente amministratore. So che questo funziona correttamente perché in Task Manager il processo httpd.exe mostra l'utente corretto.
L'unità è effettivamente mappata. Ho provato a mapparlo con diversi utenti, per includere lo stesso utente che Zend Apache utilizza senza alcun risultato.
Ho letto tutti i post su questo argomento che sono riuscito a trovare. Ogni problema che ho riscontrato esiste a causa delle autorizzazioni dell'utente o di un refuso. Non vedo come il mio problema ricada in nessuna delle due categorie.
Ho anche provato:
system('net use X: "\\x-drive\public" password1 /user:username /persistent:no');
$isFolder(is_dir("x:/"));
echo($isFolder); //FALSE
Sono in esecuzione Windows Vista x64, e il codice di produzione verrà eseguito in Windows 7 x64.
Quali altri problemi potrei essere in esecuzione?
Grazie per l'esempio e la spiegazione concisa! $ isFolder = is_dir ("// NAS/Disco principale"); var_dump ($ isFolder); // TRUE era il modo migliore per me. Grazie! – Wes