[PHP-users 14389]Re: requireとflockについて
しょうなり[ml]
ml @ webappli.jp
2003年 3月 31日 (月) 15:03:38 JST
しょうなりです。
WADA Masashi さんは書きました:
> 手元で試したら、Windows2000/PHP4.3.1 の環境では test2.php の結
>果は次のようになりました。
>
>require...
>Fatal error: input in flex scanner failed in c:\www\htdocs\dummy.inc on line 1
>
> また NetBSD1.6/PHP4.2.2 の環境では、test2.php の結果は、
>test1.php の結果が表示される前に
>
>require...end.
>
>と出てきます。結局のところ、require する前に、何らかの処理が必要
>になるでしょう。
ということは、よくCGIの掲示板で使われるmkdirやsymlinkなどによる
ロック処理を書けばよさそうですね。
flock()をどうしても使いたい場合は、
function locked_require($fname) {
$FP = fopen($fname, "r");
flock($FP, LOCK_SH);
eval("?>".fread($FP, filesize($fname)));
flock($FP, LOCK_UN);
fclose($FP);
}
という関数を作って、require()の変わりに使ってみてはどうでしょうか?
(あ、この関数で読み込んだファイル内の変数は GLOBALSにならないですね)
--
しょうなり@信州 肥田昌也
" War is not good whatever may be "
Email: shounari @ webappli.jp
HomePage: http://www.webappli.jp/
PHP-users メーリングリストの案内