2012-11-06 22 views
7

X: \ sürücüsünü çalıştıran bir ağ sürücüsüne sahibim: \ "\\ X-Drive \ Public \ Data" yolu ile harici bir sabit diske gider.PHP is_dir() Windows ağ sürücüsünde false değerini döndürür

Zend Server'ı Apache ile kullanıyorum.

Benim PHP komut bilmen gereken

$isFolder = is_dir("x:/"); 
echo($isFolder); //FALSE 

şeyler basittir:

kodu: beklenen

$isFolder = is_dir("c:/"); 
echo($isFolder); //TRUE 

kazısı.

Zend Apache hizmetini yönetici kullanıcı olarak çalıştırıyorum. Bunun düzgün çalıştığını biliyorum çünkü Görev Yöneticisi'nde httpd.exe işlemi doğru kullanıcıyı gösterir.

Sürücü gerçekten eşlenmiş. Zend Apache'nin boş bir şekilde kullandığı aynı kullanıcıyı eklemek için birkaç kullanıcıyla eşleştirmeyi denedim.

Bu konuda bulabildiğim her gönderiyi okudum. Karşılaştığım her sorun, kullanıcı izinleri veya yazım hatası nedeniyle var. Sorunumun her iki kategoriye nasıl girdiğini göremiyorum.

system('net use X: "\\x-drive\public" password1 /user:username /persistent:no'); 
$isFolder(is_dir("x:/")); 
echo($isFolder); //FALSE 

Windows Vista x64 çalıştırıyorum ve üretim kodu, Windows 7 x64 yayınlanır:

Ben de çalıştık.

Başka hangi sorunlarla karşılaşıyor olabilirim? ağ paylaşımları için

cevap

8

UNC isimleri kullanmalıdır: IP veya ana bilgisayar adını kullanırsanız "//server/share/dir/file.ext"Source

sorun çıkmaması gerekir:

$isFolder = is_dir("\\\\NAS\\Main Disk"); 
var_dump($isFolder); //TRUE 

$isFolder = is_dir("//NAS/Main Disk"); 
var_dump($isFolder); //TRUE 

$isFolder = is_dir("N:/Main Disk"); 
var_dump($isFolder); //FALSE 
+0

Teşekkür özlü örneğin ve açıklama için! $ isFolder = is_dir ("// NAS/Ana Disk"); var_dump ($ isFolder); // TRUE benim için en iyi yoldu. Teşekkürler! – Wes

İlgili konular