クライアントがブラウザ上で投稿するいわゆるCMSで運用することを想定しているので、極限まで簡易化&自動化した画像(フォト)ギャラリーのPHPプログラムです。設置後は管理画面から画像をアップするだけで更新完了です。詳細は以下にある各ページのサンプルでご確認ください。
設置もいたって簡単です。HTML&CSSの基本知識とFTPでなにかしらアップしたことがある方であれば大丈夫です。
任意のページに直接埋め込み(コピペして)、ギャラリーページとしての運用に適しています。 ページング(ページ送り)の自動生成、サムネイル生成、リンク時画像拡大機能などがあります。
また、PCの他にスマホ(スマートフォン)、携帯(ガラケー)用のファイルを同梱していますので、
1更新で3デバイス(PC、スマホ、携帯)の同時更新が可能なので更新効率アップが期待出来ます。
埋め込み版を使用する場合で、既存のサイトが.htmlで作られていてもサーバーがPHPに対応していれば(このプログラムを使う時点で100%対応しているはずですが)、単純に既存のいずれかのhtmlファイルをコピペし、拡張子の.htmlを.phpにすればOKです。そこに埋め込み用のファイルから必要な箇所をコピペすれば完了です。コピペする箇所はコメントにて指定しています。同時に不要箇所(既存コンテンツ部分など)があれば削除すればOKです。
旧バージョン(1.0.0)との互換性はありませんのでご了承下さい。
ただし、旧バージョンのデータはそのまま使用することも可能です。(実質的なバージョンアップ)
こちらをご覧ください
ユーザ名:admin
パスワード:1397
※投稿も可能です。自由に投稿して下さい。もちろん削除も可能です。
直接埋め込み版、インラインフレーム版があります。
携帯、スマホはQRコードを読めば実機でも確認できます。
表示サンプルデモ(スマホ用) |
スマホ用QR |
表示サンプルデモ(携帯用) |
携帯用QR |
クリックで自分のPCに保存、または右クリック⇒「対象をファイルに保存」
UTF-8、Shift-JIS、EUC-JPに対応。デフォルトはUTF-8。
表示側(埋め込み)ページをUTF-8以外で運用する場合は、埋め込み用ファイル(umekomi.php)で変更ください。
※umekomi.php内にコメントで書いています。
万が一最新版で問題がある場合には旧バージョンをお試し下さい。
不具合についてご連絡いただけると非常にありがたいです。
旧バージョン(ver.1.0.0)
ファイルの文字コードは基本的にUTF-8です。必ず対応したエディタで開いてください。
メモ帳(UTF-8非対応)は使用禁止です。ファイルが壊れます。TeraPad(無料)やDreamWeaver等で開いてください。必ずUTF-8のBOM無しで保存して下さい(いずれもデフォルトではBOM無しで保存されます)。
BOMについて詳しくはこちら
※PHPではスラッシュ2回「//」の後からその行の末尾までがコメント扱いとなります。「#」、「/**/」もです。
赤字のファイルは触るファイルです。逆に青字のファイルは基本的に触りません。緑色はパーミッションを変更する必要があるものです。
・umekomi.php | 任意のページにソースコードをコピペするためのファイルです。ファイル内のコメントを参考にコピペしてください。 既存のサイトがすべて○○.htmlであっても問題ありません。このプログラムを使う時点でサーバーがPHPに対応していることになるので、いずれかの既存htmlファイルをコピペし、たとえば「gallery.php」の名前で保存すればOKです。サイト上でhtmlファイルとPHPファイルが混在していても全然問題ありません。それでgallery.phpに必要なものをコピペすればOKです。 ※もちろんgallery.phpへのリンク時は拡張子が.phpになるので注意下さい。 |
---|---|
・Readme.txt | 設置法、利用規約など。 |
・lightbox/ | 画像拡大用のJavascriptで、デフォルトでは必須。※lightboxを使用する場合必須です。 |
・gallery/ | プログラムのメインファイルが入っているディレクトリ(フォルダ)です。ディレクトリ名は変更可(変更した場合、埋め込みした部分にあるパス名部分も要変更 )ディレクトリ名を変更することで1サイト内に複数のギャラリーを設置可能です。フォルダ内のファイルはすべて必要です。削除したり移動したりしないでください。 |
---|---|
┗ index.php | iframeを使用すると、インラインフレーム内にlightboxが表示されてしまうので、特に理由が無ければインラインフレームでの表示は行わないことをおすすめします。 |
┗ admin.php | 管理ページです。 投稿や編集、削除などを行えます。 |
┗ complete.php | 2重登録防止用のファイルです。そのまま置いておきましょう。 |
┗ config.php | 設定ファイル。管理画面ログイン情報の設定やその他すべての設定はこのファイルで行います。 |
┗ popup.php | インラインフレームでの表示(上記index.phpを読み込む)の場合に使用されるポップアップ用のファイルです。直接埋め込む場合は不要です。 |
┗ function.php | 関数記述など |
┗ style.css | admin.php、index.phpのスタイルを記述してます(もちろん独自のCSSでもOKです) |
┗ data/ | |
┗ news.dat | 登録データを保存するファイル (パーミッション666等書き込み可能なものに) |
┗_.htaccess | 登録データファイルに直接アクセスされるのを防ぐためのhtaccessファイルです。デフォルトでは無効化されてますので、使用する場合はファイル名の先頭の「_」(アンダーバー)を削除して「.htaccess」として下さい。セキュリティ、個人情報等に関わる情報は記載されていませんので、見られて困ることはあまりないと思います。まぁ見られてもええやんて方はそのままでもOKです。 |
┗ upimg/ | 画像データの保存先です。 (パーミッションを777等書き込み可能なものに) |
┗ js/ | 画像拡大用のlightboxや管理画面用のjavascriptなど。 ※そっとしておきましょう・・。 |
携帯(ガラケー)サイトにも使用する場合
・i/i_umekomi.php・・・携帯(ガラケー)用のファイルです。携帯用に最適化しています。
上記umekomi.php と同じく既存のhtmlファイル(またはphpファイル)をコピペしてgallery.php等にして、このファイルから必要箇所をコピペして下さい。コメントにて指示があります。
もちろんレイアウト、デザイン等はhtml等を編集してオリジナルでもOKです。
携帯版を利用しない場合このファイル(ディレクトリごと)は不要です。
携帯(ガラケー)サイトでXML宣言がある場合の注意点
各ファイル最上部にXML宣言を記述している場合、PHPファイルに直接XML宣言を記述するとPHPタグと誤解釈され、結果何も表示されなくなるという致命的な不具合があります。
i_umekomi.phpのように
<?php echo"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";?>
と書くことで回避出来ます。(文字コードはお使いのファイルに合わせてください)
※PC、スマホでも同様のことが言えますが、PC、スマホの場合今のところXML宣言を書くこと自体ほぼ意味が無い上にデメリットもあるので書かないことをおすすめします。
スマホサイトにも使用する場合
・sp/sp_umekomi.php・・・スマホ(スマートフォン)用のファイルです。スマホ用に最適化しています。
上記umekomi.phpと同じく既存のhtmlファイル(またはphpファイル)をコピペしてgallery.php等にして、このファイルから必要箇所をコピペして下さい。コメントにて指示があります。
・sp/detail.php・・・詳細ページ。スマホ版は一覧ページと詳細ページに分けています。同じくこのファイルから必要箇所をコピペしてください。もちろんこのファイルをそのまま使ってもOKです。
もちろんレイアウト、デザイン等はhtml、CSSを編集してオリジナルでもOKです。
スマホ版を利用しない場合これらのファイル(ディレクトリごと)は不要です。
config.phpをエディタソフトで開き、ログインのためのID、パスワードを変更してください。
初期値は
ID:admin
パスワード:1397
になっています。必ず変更してください。その他必要に応じてコメントを参考に設定してください。
埋め込んだファイル(たとえばgallery.php)、lightboxフォルダ、galleryフォルダ、携帯、スマホ版も使用する場合にはそのファイルをアップし、「upimg」ディレクトリのパーミッションを書き込み可能な755 or 777等に設定し、data/news.datのパーミッションを書き込み可能な666等にしてください。
これで完了です。
各パーミッションの適切な値はサーバーのマニュアル等を参考に変更下さい。
サーバーによっては値が違う、または変更の必要自体無いこともあります。
もしパーミッションの設定が間違っていた場合ですが、すべての環境での保証はありませんが管理画面にてその旨警告が表示されるよう設定しています。またもしパーミッションが間違いの場合には「upimg」ディレクトリの場合、news.datの場合ともに新規投稿時にエラーで登録自体ができません。
要するにまともに動かないのでテスト段階ですぐに気付けます。
逆にそのようなことがない場合は適切なパーミッションになっていると考えてOKです。
ちなみにエックスサーバーの場合、今のところパーミッション変更は不要です。
ブラウザで「あなたのサイトのURL」/gallery/admin.phpを表示し、管理画面にログイン後投稿を行ってみてください。正常に登録、編集できればOKです。
埋め込んだgallery.php等、またはインラインフレームの場合にはそのページをブラウザで確認してみて下さい。
投稿データが反映されていればOKです。
管理画面で画像、キャプションの変更も可能かどうかもチェックしてください。
設置するページやその他必要に応じてスタイルシート、HTML等で見た目の調整を行ってください。じゆ~です!
これら設置法などはダウンロードファイル内のReadme.txtにも記述しています。
充分な検証は行っておりますが、配布直後は未知の不具合等が無いとも限りませんので、気になる点などがあれば遠慮なくお問い合わせ下さい。
また使用感などもいただけますとものすごーくありがたいです。
以下のタグを表示させたい場所に貼り付ければOKです。
必要に応じて幅、高さ、パス等を調整してください。
デフォルトでは全ページ下部に著作権表示リンクがあります。
これらの著作権表示の削除には1サイトあたり2000円+消費税の使用料金が必要になります。
お支払いいただいた場合、これらすべての表示が削除されます。
2サイト目以降は都度料金が必要になります。
クレジットカードでのお支払いはこちら
(完全自動化によりクレジットカード払いの場合、決済完了後即ダウンロード可能です。手数料無し)
HTMLやCSSなどをある程度理解されている方を対象としています。
カスタマイズ方法などのサポートは行っておりませんのでご了承ください。
カスタマイズ方法、修正方法などに関するサポートは有料にて承ります。
管理人1人で運営していますので。。。
設置の際の不明点や気になった点、不具合等があれば遠慮なくなんでもご連絡ください。
PHP4.3.9~PHP8.1
その他一般的なレンタルサーバーであれば問題なく動作するはずですが、
すべての環境(サーバー)での動作を保証するものではありませんのでご了承下さい。
問題が出る可能性が高い、またはそのままでは必ず問題が出ることが分かっているサーバー
※現状私自身が把握している範囲です。(実際に確認していますのでちゃんと根拠もあります)
1,Yahoo系(ジオプラス、ウェブホスティングとも)※Softbankも含む
2,KDDI系(CPI含む)
3,NTT系(WebArena(suiteX)、NTTビズリンク(BizLink))
※プロバイダー系は特に問題が多いです。(個人的には絶対に借りてはいけないと考えています)
4,スマイルサーバー
5,ファーストサーバ
特にCPI、NTT系、スマイルサーバー、ファーストサーバで問題がある場合はこちらも参照下さい
経験上、結局は「餅は餅屋です」。プロバイダー系はプラン、金額に関係なく特に問題が多いです。サーバーの問題で時間を取られるのは非常に無駄ですし、その先ずっと影響しますのでサーバー選びは慎重にされることをオススメします。
特に理由がなければあえてこれらのサーバーは借りないほうが得策でしょう。高いから良い、安いからダメという安易なものでもありませんので難しいところですね。(まぁ安いには安いなりの理由があるのですが・・)
・無料版プログラムはフリーウェアです。ただし、著作権は放棄するものではありません。
・プログラムの著作権表示リンク(ページ下部にある当サイトへのリンク)を無断で削除することはできません。
(一律2,000円+消費税の削除依頼をいただいた場合を除く)
・プログラムの再配布、再販売は禁止です。
※ただしクライアントへの納品などでシステム費用、設置費用として請求されるのは問題ありません。
・プログラムによって何らかの不利益、損害が生じても一切の責任を負いません。
あらかじめご了承の上ご使用ください。
もし何らかのトラブルがあった場合には、ご相談いただければ解決策が見つかるかもしれません。
(クライアントへの原因の説明など)
・プログラムは全ての環境(サーバー)での動作を保証するものではありません。
・改変等は自由ですが、自己責任でお願いします。
・有料版をご購入いただいた場合、初期不良を除き、ご使用後の返金には応じ兼ねます。
・有料版(著作権リンク削除含む)は1サイト(同一ドメイン)内であれば複製の上で複数利用可能です。
2サイト目以降は都度サイトより購入申込みが必要になります。
※サブドメインはその性質上、別サイト(別ドメイン)とみなします。
ダウンロードいただいた時点で利用規約に同意したものとみなされます。
カスタマイズ(改造等)方法などのサポートは行っておりません。
カスタマイズや仕様変更、設置代行などは2,000円~の有料にて承ります。
旧バージョンのデータ(投稿データと画像ファイルのみ)はそのまま使用可能です。ただし、作業は必ずご自身の責任において行って下さい。データの損失等いかなる損害も責任は負いかねますのでご了承下さい。事前に必ずバックアップを行って下さい。任意のページに埋め込んでいる場合にはソースコードも最新版に書き換える必要がありますのでご注意下さい。自信の無い方は行わないことをおすすめします。
1,最新版をダウンロードする
2,サーバー上の旧バージョンの全ファイルをバックアップ(ダウンロード等)して下さい(いつでも戻せるように)
3,上記の設置手順で最新版を設置して下さい
(サーバー上のupimg、dataディレクトリのみ旧バージョンのままにして下さい)
設定ファイル(config.php)も変更していた場合には変更して下さい。(設定項目は旧バージョンと同じです)
4,管理画面にログインして最新版になっていることを確認して下さい。
5,何もせず、ますは「並び替えモード」にしてください。そこで「並び替えを反映する」を押して下さい。
※データ構造が変わっているため必ず始めに行って下さい。
6,以上です。投稿、変更、削除、並び順の変更などに問題の無いことを確認して下さい。万が一不具合が発生した場合にはすぐにバックアップで戻して下さい。
2022.01.06 v1.0.5リリース
PHP8以降で登録時にエラーとなる問題を改善しました。
修正方法は上記「よくある質問」箇所に掲載しております。
2020.07.30 v1.0.4リリース
認証不備の脆弱性の指摘と修正方法について
-- 脆弱性に該当する製品名およびバージョン
※ver1.0.3 およびそれ以前
(バージョンはconfig.php内に記載しています)
確認済対象ブラウザ:(Firefox/Chromeで確認)
-- 脆弱性の内容
特定の条件下において、遠隔の第三者に管理者権限で当該製品にログインされる問題。
この条件が成立するには第三者があなたのサイトのサーバー上に無断でファイルを設置する必要があることから、この問題が実際に発生する可能性は限りなく低いと思われます。これまでに実害の報告などは届いておりません。
ユーザーにとって利便性が良いため、あえてそうしていたということもありますので、
非常に判断が難しいものでしたが、今回の指摘を真摯に受け止め、また利便性よりも安全性を優先するという判断としました。
-- 脆弱性への対応方法と適用方法
以下手順で修正を行なってください。
1,gallery/admin.phpをエディタソフトで開いていただき、
「session_start();」を見つけて下さい。(ファイル内に1箇所しかないため検索すればすぐに見つかります)
2,この「session_start();」の上に以下1行をコピペして下さい。
※「PHPSystem」部分の文字は変更して下さい。英数字のみとして下さい。
例
session_name('PHPSystem123');
session_start();
※順番に注意して下さい。必ずsession_start();の上に追加下さい。
以上、これだけです。
もしすでに「session_name()」がある場合はすでに対策済のバージョンですので変更不要です。
尚、当サイトの管理画面があるプログラムを複数設置している場合で一度のログイン認証で相互に行き来出来たほうが良い場合はsession_nameの文字列を同じものとして下さい。
-- 謝辞
ご報告いただきました「三井物産セキュアディレクション株式会社 東内様」、
並びに情報処理推進機構 IPA様、JPCERT/CC 脆弱性ハンドリングチーム様にはこの場を借りて感謝申し上げます。
2016.05.25 ver1.0.3へアップデート
Android端末で保存している画像をアップできない不具合を修正しました。
2015.08.06 ver1.0.2へアップデート
1,iPhoneで縦写真を撮った場合に横写真としての情報で保存されてしまうため、縦写真をアップしても横写真として保存、表示されてしまうものを画像の Exif情報を取得し、必要に応じて回転処理を行うように修正しました。これで縦写真は縦写真として表示されます。また横写真で上下反転しているものも 180°回転させます。万が一不具合等を発見されましたらお知らせいただけますとありがたいです。(修正ファイルはadmin.phpのみです。設置済の ものに反映される場合はadmin.phpのみ差替えてもOKです。)
2,脆弱性対策に伴うコード修正
クロスサイト・リクエスト・フォージェリ(CSRF)
及びクロスサイトスクリプティング(XSS)の対策。
現在配布しているものはすでに修正済ですので、これからダウンロードされる方は問題ありません。
設置中の方で2015/08/06以前にダウンロードいただいた方については大変お手数おかけしますが、以下ページをご確認の上で、最新版をダウンロードの上でadmin.phpのみの差替えをお願い致します。
脆弱性対策について
2015/1/12 不具合修正
データを削除した際に画像ファイルが削除されない不具合を修正しました。ご報告いただいたm様へこの場を借りて感謝申し上げます。
またサムネイル設定サイズ以下のファイルをアップした際にサムネイルが作成されないものを修正しました。
2014/2/10 v1.0.1 配布開始
管理画面で画像の並び替えが可能
、管理画面にページャーを実装
、インラインフレーム表示に対応(インラインフレーム使用時にはlightboxではなく通常のポップアップで対応)
2013/7/15 v1.0.0 Beta版としてプログラムの配布を開始