画像掲示板の投稿削除プログラム

画像掲示板の泉には投稿削除機能も当然ご用意していますが、このプログラムに不具合が出ておりましたのでバグ修正を致しました。ディレクトリ型検索エンジンも同じですが、登録した情報を削除できないことが一番トラブルになりがちのため、急ぎで対応をいたしました。

画像掲示板の仕様

ファイルアップロード機能の練習がてら作った画像掲示板の泉ですが、元々フリーの掲示板CGIをサンプルに作ったこともあり、テキストログファイルを使った古めかしい作りの掲示板になっています。

取り回しがよいSQLを使えるDB型掲示板に作り直そうと何度も考えてはおりましたが、セッション数が毎度二桁台で推移してしまっている掲示板を大改修するのが手間で、未だテキストログファイル仕様のままにしておりました。

投稿データがテキストログファイルファイルのため、投稿・編集・削除をするためには、いちいちファイルをOPENして配列に放り込み、追加~編集~削除をして~最後はファイル上書きという昔ながらの処理を走らせる必要があります。しかも、スレッド型掲示板のため、レスが投稿された際にはスレッドを最上位に移動したりもあるため、鬼のような配列操作を裏で走らせておりました。

配列操作に生じたバグ

今回見つけた不具合は、その肝心の配列操作にバグがあったことが原因で、ファイル最終行にゴミデータが残り、一番古いスレッドの中身が壊れることがあるといったものでした。

下記画像のような配列操作だらけのPHPを今回修正していましたが、データ移行の手間とかを考えると、結局このタイミングでのDB型への改修はやれませんでした。

投稿削除あたりでもこんなに配列操作が・・・

昔はポインタとか配列操作とかが楽しかったですが、今となってはクエリを一本書く方がどれだけ楽で安全かとは思ってしまいます。

おわりに

今年に入って、数年間放置していたサイトの復旧作業ばかりしてしまっております。なんとも恥ずかしい限りですが、お気づきの点があれば修正に努めておりますので、ブログのコメント欄、Twitterや、お問い合わせフォームからご一報いただけると助かります。

余談ですが、皆さんは既にお使いかもしれませんが、私もサイトの修正にMSのVisual Studio Codeを使い始めており、そのお陰で修正がだいぶ楽になりました。

このエディタが無料です

画像編集でphotoshopとかを使う流れでなんとなくDreamweaverを使ってきましたが、Adobeのソフトは重いは固まるはで悲惨なことになってきたので、このVS Codeのサクサク動作感とファイル操作の使い勝手の良さには驚きでした。これで無料というのは本当に凄い感じです。

PHPが学べるおすすめプログラミングスクール

この運営ブログをみて、もしdtn.jp管理人のようにサイトをゼロから作ってみたいという思いに駆られた方は、サイト開発やプログラミングをオンラインで受講できるプログラミングスクールの活用をしてみてはいかがでしょうか。サーバ/WordPress/HTML/CSS/JS/PHP/SQLなどの基本さえ分かれば、ゼロからサイト立ち上げもポンポンできるようになって、今なら仕事や転職にも役立つのでオススメです。

PHPも学べるオンラインスクール

  • CodeCampAWS Cloud9を使ったクラウド上のIDEが用意されているので、ネットにつながればスタート開始可能というゴージャスなスクールです。講師も選べて、Webマスターコースならプログラミング経験0でも一気にフロントエンドからバックエンドまでマスターできます。
  • ウェブカツJava言語やRuby言語なんぞ教えん!という、初心者にありがちな挫折ポイントがよく分かってるスクールです。フロントエンドエンジニアに必要なスキルセット&PHPがマスターできます。
  • フリークス HTML/CSSから始まり、MySQLやLinuxからPHPの変数や分岐やループ、クラスやPDOに最後はMVCまで教えてくれるので、そこまで分かればなんでもできそうです。メンターに質問もし放題がいいですね。
  • テックアカデミー法人のIT研修もやってる業界最大手・受講者数No.1のスクールです。メンターとの定期オンライン面談やチャットサポートなどもあり、大手ならではインフラ環境がウリです。PHPと合わせてjQueryもマスターできる、PHP/Laravelとフロントエンドコースがおすすめです。

オンラインスクールのデメリット

孤独になりがちなサイト制作も、優しいメンターがそばにいてくれれば凄い楽しそうですが、もちろんデメリットもあります。お金がかかるという点です。ひたすらググって、本を読んでよりは確実にコストがかかってしまいます。とはいえ、多少の余裕があるなら、こんなご時世なので時間と労力を買った方が良いと思います。