3

PHPを使用してWindows共有のコンテンツを一覧表示するにはどうすればよいですか?

$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);
    }
}

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

警告:opendir(\ 192.168.1.100 \ pdfoutput)[function.opendir]:dirを開けませんでした:227行目のC:\ Users \ gary \ Webserver \ QuickMail\maildetails.phpにエラーはありません

これは期待どおりに機能していません。何かご意見は?

4

3 に答える 3

4

http://uk3.php.net/function.opendirで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")
?>
于 2009-08-16T18:13:26.963 に答える
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);
    }
}
于 2009-08-17T13:28:38.767 に答える
0

次のプロセスは私のために働きます。共有場所をシステムにマッピングするだけです。
Windows 7を使用している場合:[スタート]、[コンピューター]、[マップネットワークドライブ]の順にクリックし
ます。Windows8を使用している場合:ファイルエクスプローラーを開きます。[コンピューター]タブ、[マップネットワークドライブ]の順にクリックします。共有ドライブ/フォルダに言及することで、コンテンツに直接アクセスできます。

于 2018-08-28T11:23:30.153 に答える