スレッド表示 | フラット表示〕 全トピック 920 件中 868 番目 次≫ ≪前

ファイルのオープン/クローズについて

created: 2003-05-05 22:01 | modified: 2003-05-07 18:13 | reply: 2

[308] ファイルのオープン/クローズについて

user: yagi | created: 2003-05-05 22:01
Perlでは、オープンされたファイルハンドルに対してクローズせずとも異なるファイルを同じハンドルでオープンした場合、
暗にクローズされるので、

open(FILE, "+< test1.log");
open(FILE, "+< test2.log"); // test1.logはクローズ
…何らかの処理…
close(FILE);

とすることができますが、PHPでそういった処理はできないでしょうか?
reply: 310 返信 編集 削除

[310] できないかも

user: ゆうじ | created: 2003-05-06 19:40
yagiさん、ご無沙汰してます。
しばらくお休みをいただいてて、
お返事遅くなりました。

Perlがわかってないもので勘違いしてたらすみません。
同じファイルハンドルでオープンするってことを、
PHPではできないように思います。


$fp = fopen("hoge01.txt", "r");

 // 何らかの処理
 echo fgets($fp) . "<br />";

$fp = fopen("hoge02.txt", "r");

 // 何らかの処理
 echo fgets($fp) . "<br />";

fclose( $fp );

2番目のfopen()の時点で、
はじめに開いたファイルハンドルが上書きされてるので、
暗黙のうちにクローズされてる、されてないにかかわらず、
古いファイルハンドルにはアクセスできなくなりますね。
もちろんこれでも正常に動作します。

でもこれだと、
単にファイルポインタの変数を共有してるだけで、同じファイルハンドルを
開いてることにはなりませんね。
やっぱり質問の意図とずれてるかも・・・失礼しました(笑)

PHPでは(私の力量では)できないようにおもいます。
私は意図的にクローズしてたほうが安心できます。
Parent: 308  reply: 315 返信 編集 削除

[315] 暗にクローズされるかどうか

user: yagi | created: 2003-05-07 18:13
>単にファイルポインタの変数を共有してるだけで、同じファイルハンドルを開いてることにはなりませんね

いえ、単に同じファイルポインタでオープンした場合に前のファイルが暗にクローズされるのかどうかが知りたかっただけです。
暗にクローズされるのであれば、Perl的に簡略化したプログラミングができて楽だなぁと(単にじゃまくさいだけかな)。
Parent: 310  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 868 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑