2014-09-19 94 views
0

我一直在努力無法從使用PHP的網絡中讀取目錄或文件。如果目錄是本地的,那麼操作就可以正常工作,但是我已經對網絡運氣很好了。我的系統管理員告訴我,我試圖訪問的文件夾是共享的。我也可以使用python讀取文件。有兩個文件夾需要訪問,一個用戶名和密碼,另一個沒有保護。爲了這個特殊的問題,我很高興能夠在沒有密碼保護的情況下訪問它。它所擁有的只是一個垃圾文件,我把它作爲一個實驗放在那裏。下面是一個簡單的實驗代碼。 我收到的錯誤是: 警告:opendir(M:,M :):系統找不到指定的路徑。 (代碼:」 3)php從網絡讀取目錄或文件

<?php 
    $location = "\\\\192.168.0.16\\geo"; 
    $user = ""; 
    $pass = ""; 
    $letter = "M"; 


    system("net use ".$letter.": \"".$location."\" ".$pass." /user:".$user." /persistent:no>nul 2>&1"); 


    $dir = $letter . ":"; 
    #if(is_dir($dir)){ 
     if($dh = opendir($dir)){ 
      while(($file = readdir($dh)) !== false){ 
       echo "filename: $file : filetype: ".filetype($dir . $file) . "\n"; 
      } 
      closedir($dh); 
     } 
    #} 
    ?> 
+0

看看這裏http://stackoverflow.com/questions/14367687/read-file-on-a-network-drive – 2014-09-19 16:27:00

+0

NOP e,我以前看過那個頁面,但仍然沒有運氣。我確實再次嘗試過。 – Geo 2014-09-19 16:56:33

+0

你看到系統()有任何錯誤嗎?如何嘗試$ result = shell_exec('net use ... 2>&1')並打印$結果? – 2014-09-19 19:58:19

回答

0

嘗試改變:

From: $dir = $letter . ":"; 
To: $dir = $letter . ":/"; // or $dir = $letter . ":\\"; 

斜線往往會在某些情況下,有時關係

後,嘗試設置您的Web服務器接受目錄映射。 :

<Directory "M:\Path\To\Your\Directory"> 
    Order Deny,Allow 
    Allow from all 
</Directory> 
+0

沒有。沒有改變工作。 – Geo 2014-09-19 17:01:00

+0

你確定「net use」正在工作嗎? – Fernando 2014-09-19 17:20:14

+0

零線索。我不知道如何測試它。你能否給我提供一個示例代碼。我想要做的就是讀取該地理目錄中的文件(ip/geo/junk.txt)。任何可以實現的代碼都會讓我非常開心。 – Geo 2014-09-19 17:26:17