[PHP-users 33586] リモートWin共有ディレクトリの中身をphpで判別したい
Tatsuya Matsuyama
tatsuya @ kk-okamoto.jp
2008年 6月 10日 (火) 10:40:25 JST
松山と申します。
RedHatLinuxES+php-4.3.2-43.entを使用しています。
phpでイントラ環境限定のWebアプリを作り会社内で使ってきました。
このアプリの機能の中に、ディレクトリの有無、ファイルの中の有無を調べたり、
ディクトリの中にあるjpgファイルを表示する機能がありました。
# クライアントは全てWindowsです。
これまでは、
このLinmuxサーバー上のローカルのディレクトリを
Sambaを使って公開し、同時にphpでファイルの有無を
下記のようなコードで判別してきました。
// ディレクトリ内のファイルの有無の判定
if(@opendir('/mnt/$FileServer_kouji_shasin/kouji_shasin/'.$nendo_year[$i].'/
'.$kouji_id[$i].'/'.$kinkyu_id[$i]))
{
// 対象ディレクトリがある場合のみ
$handle=opendir('/mnt/$FileServer_kouji_shasin/kouji_shasin/'.$nendo_year[$i
].'/'.$kouji_id[$i].'/'.$kinkyu_id[$i]);
while (false !== ($file_name = readdir($handle))) {
if ($file_name != "." && $file_name != "..") {
$film_gif[$i] = $film_ari;
break;
}
}
closedir($handle);
} else {
// ディレクトリがない場合
$film_gif[$i] = $film_nashi;
}
if(!isset($film_gif[$i]))
{
// 中身の無film_gif
$film_gif[$i] = $film;
}
}
ところが、このファイルの容量が大きくなるにつれ
Linuxでの運用が困難となってきました。
そこで、
別にあるWindwos2000serverにUSBの外付けHDをつけて、
保守・管理を行おうと思い立ちテストしています。
Linuxのmountコマンドで
/mnt以下にWindwosサーバーの公開フォルダをマウントし、
同じコードでディレクトリ・ファイルの有無を判定しようとしたところ
正常に判定されず、全て「存在しない」よう判定されます。
どうも、
リモートサーバーにあるファイルの存在判定が仕様上できないようですが、
何か良い方法はないでしょうか?
Windows2000serverでIISやFTPサーバーを立ち上げれば、
別の方法があるかもしれませんが、
このサーバーにはそのようなサーバーを追加する予定はありません。
# でも、無理かなぁ...
PHP-users メーリングリストの案内