2009-08-16 16 views
2

PHPを使用してWindows共有の内容を表示するにはどうすればよいですか?PHPを使用してローカルネットワーク上のディレクトリを移動する方法は?

$SearchFolder = "\\\\192.168.1.100\\pdfoutput\\"; 

if (is_dir($SearchFolder)) 
{ 
    if ($Directory = opendir($SearchFolder)) 
    { 
     while (($File = readdir($Directory)) !== false) 
     { 
      if(filetype($SearchFolder.$File) == "file") 
      { 
       $this->Attachments[] = new Attachment($SearchFolder.$File); 
      } 
     } 
     closedir($Directory); 
    } 
} 

印刷(opendir($ SearchFolder));このエラーが発生します:

Warning: opendir(\192.168.1.100\pdfoutput) [function.opendir]: failed to open dir: No error in C:\Users\gary\Webserver\QuickMail\maildetails.php on line 227

これは期待どおりに動作しません。何かご意見は?

+1

ドライブにマッピングすることで問題を解決できますか? – Greg

+0

また、PHPまたはApacheを使用していますか? google "php unc path"を使用すると、あなたに役立つアクセス許可についてのいくつかの結果が得られますが、ウェブサーバーによって異なります。 – Greg

+0

@Greg:どちらもありますか?彼はWindows上のApacheサーバー上でPHP言語を使用しています(私が想定している)。少なくとも、2つは互いに排他的ではありません。 – DisgruntledGoat

答えて

1

私はローカルネットワークパスを使用して、それがFTPサーバーを使用しているに良い代替を見つけました。これは、私もこのディレクトリからいくつかの画像を表示する必要があることを考慮して素晴らしい作品。私が使用したFTPサーバは非常に軽いので、セキュリティや権限のエラーがなくてもLAN全体からこのディレクトリにアクセスできます。

$SearchFolder = "ftp://192.168.0.104/PDFOutput/"; 

if (is_dir($SearchFolder)) 
{ 
    if ($Directory = opendir($SearchFolder)) 
    { 
     while (($File = readdir($Directory)) !== false) 
     { 
       if(filetype($SearchFolder.$File) == "file") 
       { 
         $this->Attachments[] = new Attachment($SearchFolder.$File); 
       } 
     } 
     closedir($Directory); 
    } 
} 
3

opendir関数のユーザーコメントをhttp://uk3.php.net/function.opendirに見てください。あなたに役立つ情報があるようです。具体的には、DaveRandomによってコードのこのビットはあなたの問題を解決することがあります。

<?php 
// Define the parameters for the shell command 
$location = "\\servername\sharename"; 
$user = "USERNAME"; 
$pass = "PASSWORD"; 
$letter = "Z"; 

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

// Open the directory 
$dir = opendir($letter.":/an/example/path") 
?> 
関連する問題