泉で投稿プログラムを修正しましたが、また画像掲示板が壊れていたので急ぎプログラムを見直しました。前回はfopen($filename,”w”)が原因でログファイルが消失するといった現象でした。詳細はこちらの記事でご参照下さい。前回はfopen($filename,”w”)のwモードが原因でログファイルが全て飛んでしまうという現象でしたが、今回はログファイルの一部が壊れるという現象が発生しているようです。ログの一部が壊れている影響で、掲示板内のスレッドに歯抜けが生じていました。掲示板はスレッド更新順に並んでいますが、見ると最後尾に近いスレッドに歯抜けが生じているようです。なると、ログファイル前半の方は問題なく書き込みされているので、fopen()のr+モードが関係していそうな感じです。調べてみたところ、そふぃのPHP入門にr+モードの挙動で気を付けないといけない点をみつけました。ファイルを開いた時点では元のデータが残っているので一見こちらの方が良さそうですが、不便なところもあります。書き込みたい内容が、ファイルに既に書き込まれている文字列より短い場合には変なゴミがつきます。変なゴミ、と言いましたが、元々ファイルにあった文字列が残ってしまうって事です。ふぃのphp入門ファイル更新時に更新前データが残るwモードの時には一回ファイルサイズを0にしていたため、更新前データの影響を受けることはありませんでしたが、r+モードの時にはファイルポインタは先頭に置かれるものの、以前のデータは消しているわけではないため、データサイズが減った時には更新前データが残ってしまうということのようです。分かりやすいようにイメージにしてみました。書き込み前、書込み後のファイル容量に注意しないといけないということが分かったので、早速プログラムを修正しました。更新前ログファイルのファイルポインタ位置をftell()で確認し、ログファイルの更新前後でファイル容量が減少している場合には、更新後にftruncate()でファイルを切り詰めるようにしてみました。これでr+モードで残ってしまうゴミも削除出来ているようです。おわりに度々のプログラム不具合でご迷惑をお掛けしてしまい申し訳ございませんでした!!さてさて。あっという間に大晦日となってました。2008年はサーバートラブル、プログラムエラーが頻発してしまい、最後の最後までユーザーさんにも大変ご迷惑をお掛けしてしまいました。目指しますので、宜しくお願い致します。よいお年をお迎え下さい。dtn.jpこの運営ブログをみてdtn.jpの運営サイトに興味をお持ちになった方は下記のリンク集からサイトをご参照ください。PHP・SQL・JS・HTML・CSSや様々なAPIでゼロから立ち上げたサイトを複数運営しています。dtn.jp運営サイトディレクトリ型検索エンジンdtn大手は全てサービスを終了してしまい、中小でも運営を継続するところがほとんど無くなったディレクトリ型検索エンジンを、2002年から細々運営しております。今も申請されたサイトは実際に管理人が訪問して確認後に登録しています。猫ネコサーチエンジン猫・ペットサイト専用のディレクトリ型検索エンジンです。登録サイトはサイトのスクリーンショット付きでカテゴリに掲載をいたします。画像掲示板の泉画像・YouTube・ニコニコ動画・Tiktokの貼り付けが可能な匿名画像掲示板です。27ジャンルに分かれた掲示板に、それぞれ100スレッドまで立てることが可能です。APIを使って10分おきに収集したTwitterトレンドワード・人気ハッシュタグデータを、月別に集計してランキング形式で公開しています。年間トレンドワードも公開中。Tool++Yahooショッピングや楽天のトレンドワードデータを日次収集し、EC系の人気キーワードをラインキング形式でご紹介しています。各ワードの検索ボリュームや関連語、24か月の検索ボリュームをグラフで確認が可能です。消費者金融の泉カードローン商品を取り扱う金融業者を一覧で比較可能としたサイトです。TrendinGファッションブランドを人気アイテムヒット率でランキング化し、一覧でご紹介しているサイトです。各サイトの開発方法などについて各サイトの開発方法や運用トラブルについては、当ブログで不定期にご紹介しています。Twitterで新着記事のお知らせもしています。宜しければフォロー下さい。(9)dtn.jp独自ドメインdtn.jpで個人サイトを運営して22年目となるdtn管理人です。国内最古のディレクトリ型検索エンジンとなりつつあるdtnを中心に、匿名画像掲示板や各種APIで作ったアフィリエイトサイトなどを本業の傍らで運営中。dtn.jp運営ブログPHPプログラミングAPI・ライブラリWordPressテーマ・プラグイン・カスタムアフィリエイトアフィリエイト・副業WEB制作HTML・CSS・js・ウェブ制作サイト運用ドメイン・SEO・アクセスアップdtn.jpお問い合わせ。