[PHP-users 6288] Re: 新規ファイルの作成

Tsukasa Koizumi php-users@php.gr.jp
Tue, 19 Mar 2002 02:18:03 +0900


小泉です。

At 02:07 02/03/19 +0900, you wrote:
>// 月間のダウンロード数を記録
>              // アクセス日時を収得
>              $year = date("Y") ;
>              $month = date("m") ;
>              // カウント処理(なければファイル作成)
>               // ファイルを開く
>              $fpb = fopen ( "log/tune/$year/$month/$log" , "a+") ;
>              if   (!$fpb)
>              {
>                    print ( "ファイルを開くことができませんでした" ) ;
>                    exit;
>              }
>              // バッファサイズを0にする
>              set_file_buffer ($fpb, 0) ;
>              // ファイルをロックする
>              flock ($fpb, 2) ;
>
>              // ファイルの書き込み
>              // ファイルポインタをファイルの先頭に移動する
>              rewind ($fpb) ;
>               // カウンターの値を読み込み、1つ増やす
>              $counterb = fgets ($fpb, 10) + 1;
>             // ファイルポインタをファイルの先頭に移動する
>              rewind ($fpb) ;
>              // ファイルにカウンターの値を書き込む
>              fputs ($fpb, $counterb) ;
>              // ロックを解除してファイルを閉じる
>              flock ($fpb, 3) ;
>              fclose ($fpb) ;
>
>問題の部分はこのようになっております。

これを実行した結果、どうなるのでしょうか?
エラーメッセージは? PHPのログは?
どう「うまくいかない」のか、具体的な状況がわからないと、なんとも……。

一つ気になるのは、

>              $fpb = fopen ( "log/tune/$year/$month/$log" , "a+") ;

$year、$monthでパスを動的に変化させていますけど、これらのディレクトリ
はちゃんと存在していますか? fopenではディレクトリは生成されないのでは?



----------------------------------------------------------------------
小泉 司@コイズコム デジタルワークス(東京都文京区)
Desk - mailto:tsukasa@koiz.com / Mobile - mailto:pigtail@pdx.ne.jp
PGP Public Key - http://www.koiz.com/~tsukasa/PGP_KEY/tsukasa.asc
----------------------------------------------------------------------