画像アップロード型掲示板

dtn.jpは趣味でやってる個人サイトですが、本業?副業?でもWEB制作を依頼されてやっていたりします。

そちらの方で画像アップローダーを用意する必要がでてきたので、勉強がてらアップローダーを作り、そのプログラムコードを元にサイトとしてみたのが画像掲示板の泉(当時は画像掲示板dtn)でした。

画像掲示板の作り方

GDライブラリでサムネイル作成

画像アップロードだけであれば簡単にできますが、サムネイル画像を生成するとなると少々厄介になります。サムネイル生成についてはGDライブラリを使ってこのような流れで実現しています。

①getimagesize()でアップロードファイル情報を解析
②imagecreatefrom○○○()で画像ファイルを読み込み
③imagecreatetruecolor()で縮小画像の土台を作成
④imagecopyresampled()で取得画像をリサイズしてコピー
⑤image○○○で画像を出力

GDライブラリで画像のサムネイルを作成する

仕事で用意するアップローダーについては、画像アップとこのサムネイル生成、アップ画像の削除機能があればよかったのですが、画像掲示板サイトとするのであれば、これを投稿毎にまとめて表示したりととスレッド毎の投稿データ保存の部分を作りこむ必要があります。

スレッド毎にログファイルを制作

投稿情報はログファイルにこのような形式で保存をすることで実現してあります。

%s<>%s<>%s<>%s<>%s<>%s・・・<>%s<>%s<>%s<>\n

この改行までの1行を1スレッドとして保存していき、スレッドに投稿があった場合は<>で情報を追記し、該当行を1行目まで移動することで、更新スレッドを最初に表示するようにしてみました。

突貫で制作した割には、そこそこな作りにできたのではないでしょうか。

フレームレイアウトをやめる

メニューフレーム掲示板コンテンツ一覧ページ

最初は左フレームに掲示板ジャンルを並べて、右側に掲示板スレッドを並べる形でHTMLのフレームで分割したページにしていましたが、フレームサイトは検索エンジンと相性が悪いようで、フレームの右だけ、左だけが検索にヒットしてしまい、frameset定義を入れたindex.htmlがヒットしないという残念な状況になってしまっておりました。

このため、フレームサイトをやめ、普通の一枚htmlのサイトになるように全体を修正してみました。

おわりに

まだまだ投稿もない自己満足の画像掲示板となっておりますが、少しずつバージョンアップをしておこうと思います。よろしくお願いいたします。

ABOUT dtn.jp

この運営ブログをみてdtn.jpの運営サイトに興味をお持ちになった方は下記のリンク集からサイトをご参照ください。PHP・SQL・JS・HTML・CSSや様々なAPIでゼロから立ち上げたサイトを複数運営しています。

dtn.jp関連サイト

  • ディレクトリ型検索エンジンdtn大手サイトは全てサービスを終了し、中小でも運営を継続するところがほとんどなくなってしまったディレクトリ型検索エンジンを2002年から細々運営しており、未だに細かい機能改修も行っております。申請されたサイトは実際に訪問して細かく確認をしているので登録までかなりお時間いただきます。
  • 猫ネコサーチエンジン猫・ペットサイト専用のディレクトリ型検索エンジンです。登録サイトはサイトのスクリーンショット付きでカテゴリに掲載しています。
  • 画像掲示板の泉画像やYouTubeやニコニコ動画が貼り付け可能な匿名画像掲示板です。27ジャンルに分かれた掲示板に、それぞれ100スレッドまで立てることが可能です。
  • ツイータンTwitter APIを使って10分おきに収集したTwitter(ツイッター)のトレンドワードや人気ハッシュタグデータを月別に集計してランキング形式で公開しています。
  • Keyword Tool++Yahoo APIや楽天サイトのデータを日次で収集したデータを元に、EC系キーワードをラインキング形式でご紹介しています。各ワードは検索ボリュームや関連語、24か月の検索ボリュームトレンドを確認も可能です。
  • 消費者金融の泉カードローン商品を取り扱う金融業者を一覧で比較可能としたサイトです。カテゴリ別、人気度別、限度額別、金利別に比較可能なサイトにしています。
  • TrendinGファッションモールに出店するブランドをアイテムヒット率でランキングとしたサイトです。まだβ版です。

各サイトの開発方法などについて

各サイトの開発方法や運用トラブルについては、当ブログで不定期にご紹介しています。Twitterで新着記事のお知らせもしています。宜しければフォロー下さい。