[PHP-users 11410] ファイルをロックしてファイルを削除できますか?

toyohiko php-users@php.gr.jp
Mon, 11 Nov 2002 02:33:26 +0900


内田と申します。
変な質問で恐縮しますが、事情を説明します。
今phpとpostresql画像付投稿ページを作成しています。
投稿ページごとにpostgresqlに取り込んだ画像をtemp fileに読み取って表示してい
ましたが
タイミングによっては、次のページにしてもラージオブジェクトの画像は前のまま
残って表示されてしまいます。
もちろん次のページにしたときは、postgresqlに取り込んだ画像をphpでtemp fileに
取り直してます。
私が思うに、どうやら表示ファイル名が同じなのでブラウザ側でキャッシュしていた
ものを表示しているようなのです。
そこでしかたなくページ番号と行数番号をtemp fileに文字列の連結(例えは 
$tempfile="$pageno"."tempfiletakara"."$rowno"のように)で作成するようにしたら
うまくいきました。でもこれでは、postgresql DBと同じ容量の画像temp fileが出来
てしまうので、表示したらtemp fileをunlinkを使用して削除したいのですが、
同時アクセスが増えてきたら不具合が出てきそうです。
実際のスクリプトはごちゃごちゃしていて書きませんが、件名のように、ファイルを
ロックしてファイルを削除出来たら同時アクセスでの不具合が
解消されると思いますがそんなことが出来るのでしょうか?実際やってみても出来ま
せんでした。
同じような悩みをお持ちの方いませんか?解決されている方は どのようにされてい
ますか?