解決済み

ファイルの読み込みについて

  • すぐに回答を!
  • 質問No.5372769
  • 閲覧数92
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 68% (31/45)

いつも大変お世話になっています。

例えば以下のような関数があったとします。

function out_file($file_path)
{
$_handle = @fopen($file_path, "r");
$_dat = @fread($_handle, @filesize($file_path));
@fclose($_handle);

return $_dat;
}

【質問1】
$file_path の示すファイルが 10M のファイルだとして、10人のクライアントがアクセスしてきたとしたら、サーバーのメモリは 100M 食われてしまうのでしょうか?それとも10M?(まさか、0M?)

【質問2】
ファイルは読み取り専用で開いていますが、大量のクライアントが同時アクセスしてくるとしても flock など無くて正常に動くのでしょうか?
それとも、やはり排他制御する必要はあるでしょうか?
10人同時アクセス時のこの関数の挙動がイマイチイメージできません。

以上です。
よろしくお願いします。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1

ベストアンサー率 43% (130/296)

>【質問1】
本当に10人がぴったりのタイミングで処理されれば100M使用されます。
質問文くらいのコードではそんなことほぼ起こりえませんが。

>【質問2】
読み取り専用で開いているならflockは不要です。
というか、排他を行う理由がないと思います。
お礼コメント
conecoxxx

お礼率 68% (31/45)

回答ありがとうございます^^

> 読み取り専用で開いているならflockは不要です。
この言葉を聞いて安心しました(*'-')
投稿日時 - 2009-10-17 00:45:44
OKWAVE 20th Be MORE ありがとうをカタチに
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ