先日画像掲示板プログラムを修正したばかりでしたが、
またも画像掲示板が壊れていたので、急ぎプログラムを見直しました(@_@;)
前回はfopen($filename,”w”)のwモードが原因で、
ログファイルが全て飛んでしまうという現象でしたが、
今回はログファイルのお尻部分が壊れてしまうという、、、
新たな現象が発生していました。
imgbbs_thread_hanuke.png
ログファイルの前半部分は問題なく書き込まれているので、
fopenのr+モードが関係していそうな感じです、、、( ̄- ̄;)
という訳で、ネットで色々と調べてみました…。
すると、すぐに原因判明(^▽^;)
PHP入門さんにも書いてありましたが、
「書き込みたい内容が、ファイルに既に書き込まれている文字列より短い場合には
変なゴミがつきます。」とのことでした。
つまり、wモードのように一端ファイルを0にしている訳ではないので、
書き込み前、書込み後のファイル容量に注意しないといけないということです。
fopen_r_error.png
原因が判明したので、早速修正です。
まず、書込みするログファイルのファイルポインタ位置をftell()で確認し、
ftruncate()でファイルを切り詰めるようにしてみました。
とりあえず、これでr+モードで残ってしまうゴミも削除出来ているようです。
度々のプログラム不具合でご迷惑をお掛けしてしまい、
大変申し訳ございませんでした!!
是非また画像掲示板dtnを宜しくお願い致します!!
さてさて。あっという間に大晦日となってました。
2008年はサーバートラブル、プログラムエラーが頻発してしまい、
最後の最後までユーザーさんにも大変ご迷惑をお掛けしてしまいました。
2009年は、もうちょっと安定稼動、定期更新を目指しますので、宜しくお願い致します。
よいお年をお迎え下さいヽ(^ ^;)ノ

スポンサーリンク