PHP工房トップ

HOME > 【Gallery01】PC、スマホ、ガラケー3デバイス対応 写真ギャラリーCMS フリー(無料)版

【Gallery01】PC、スマホ、ガラケー3デバイス対応写真ギャラリーCMS フリー(無料)版

PHP写真ギャラリー フリー(無料)Beta版デモ

クライアントがブラウザ上で投稿するいわゆるCMSで運用することを想定しているので、極限まで簡易化&自動化した画像(フォト)ギャラリーのPHPプログラムです。設置後は管理画面から画像をアップするだけで更新完了です。詳細は以下にある各ページのサンプルでご確認ください。

設置もいたって簡単です。HTML&CSSの基本知識とFTPでなにかしらアップしたことがある方であれば大丈夫です。

任意のページに直接埋め込み(コピペして)、ギャラリーページとしての運用に適しています。 ページング(ページ送り)の自動生成、サムネイル生成、リンク時画像拡大機能などがあります。

また、PCの他にスマホ(スマートフォン)、携帯(ガラケー)用のファイルを同梱していますので、
1更新で3デバイス(PC、スマホ、携帯)の同時更新が可能なので更新効率アップが期待出来ます。

埋め込み版を使用する場合で、既存のサイトが.htmlで作られていてもサーバーがPHPに対応していれば(このプログラムを使う時点で100%対応しているはずですが)、単純に既存のいずれかのhtmlファイルをコピペし、拡張子の.htmlを.phpにすればOKです。そこに埋め込み用のファイルから必要な箇所をコピペすれば完了です。コピペする箇所はコメントにて指定しています。同時に不要箇所(既存コンテンツ部分など)があれば削除すればOKです。

主な機能と特徴

  1. フリー(無料)で、もちろん商用も使用OKです。どんなサイトでも設置OKです。
  2. 管理画面から投稿、編集できるので完全自動化(CMS)として運用可能です。
    スマホ(スマートフォン)、携帯用に最適化したファイルも同梱しています(サンプル参照)。
    デバイスごとに1ページあたりの表示数を設定可能です。
  3. 設定ファイルにて細かい設定が可能で実務での様々な運用に対応します。
  4. クライアントが投稿することを想定しているので、数MBの大きいままの画像、日本語ファイル名の画像ファイルでもあなたが設定したサイズに自動縮小&半角英数字にリネームします。サムネイルも自動生成。(容量が軽いので一覧はサムネイル表示としています)※各種設定は設定ファイルにて
  5. 画像のキャプション(タイトル、簡単な説明など)も指定可能。
    ※各デバイス(PC、スマホ、携帯)の表示はサンプル参照ください。
  6. PCの場合、サムネイルはlightboxにて拡大表示&キャプションを表示。スマホ、携帯もそれぞれ見やすいよう最適化済み。もちろんすべてhtml、CSS等を編集してオリジナルデザインも可能です。
  7. ページング(ページ送り)を自動生成します。画像がいくら増えても順応します。
    ※ページングの各種設定も設定ファイルにて可能(1ページあたりの表示数、ナビゲーション数等)
  8. 日付の表示方法も設定可能。2013/7/15(デフォルト)、2013-7-15、2013年7月15日など。
  9. 各種ブラウザ対応(IE6~IE11)、Firefox、Chromeにて投稿、閲覧確認済。
  10. PHP4.3.9~5.5まで確認済

Ver.1.0.1からの新機能

  1. 管理画面でドラッグ&ドロップによる画像の並び替えが可能に
  2. インラインフレーム表示に対応(インラインフレーム使用時にはlightboxではなく通常のポップアップで対応) ※lightboxはフレーム内に表示してしまうため

旧バージョン(1.0.0)との互換性はありませんのでご了承下さい。
ただし、旧バージョンのデータはそのまま使用することも可能です。(実質的なバージョンアップ)
こちらをご覧ください

サンプルデモ

ユーザ名:admin
パスワード:1397
※投稿も可能です。自由に投稿して下さい。もちろん削除も可能です。

直接埋め込み版、インラインフレーム版があります。

携帯、スマホはQRコードを読めば実機でも確認できます。

スマホ用QR
QRコード

携帯用QR
携帯版QRコード

ダウンロード

クリックで自分のPCに保存、または右クリック⇒「対象をファイルに保存」

写真ギャラリー01(最新版) 

UTF-8、Shift-JIS、EUC-JPに対応。デフォルトはUTF-8。
表示側(埋め込み)ページをUTF-8以外で運用する場合は、埋め込み用ファイル(umekomi.php)で変更ください。
※umekomi.php内にコメントで書いています。

万が一最新版で問題がある場合には旧バージョンをお試し下さい。
不具合についてご連絡いただけると非常にありがたいです。

設置方法

ファイルの文字コードは基本的にUTF-8です。必ず対応したエディタで開いてください。
メモ帳(UTF-8非対応)は使用禁止です。ファイルが壊れます。TeraPad(無料)やDreamWeaver等で開いてください。必ずUTF-8のBOM無しで保存して下さい(いずれもデフォルトではBOM無しで保存されます)。
BOMについて詳しくはこちら
※PHPではスラッシュ2回「//」の後からその行の末尾までがコメント扱いとなります。「#」、「/**/」もです。

1.ファイル構成を確認し、表示側の設定を行う

赤字のファイルは触るファイルです。逆に青字のファイルは基本的に触りません。緑色はパーミッションを変更する必要があるものです。

・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 既存のトップページ(index.html)に表示させたい場合やその他事情があり既存のhtmlで表示させたい場合にはこのファイルをインラインフレームで読み込んで下さい。インラインフレームを使わない場合はこのファイルは不要です。
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です。
スマホ版を利用しない場合これらのファイル(ディレクトリごと)は不要です。

 

2. ユーザID、パスワードを設定する

config.phpをエディタソフトで開き、ログインのためのID、パスワードを変更してください。
初期値は
ID:admin
パスワード:1397
になっています。必ず変更してください。その他必要に応じてコメントを参考に設定してください。

3. FTPでアップ

埋め込んだファイル(たとえばgallery.php)、lightboxフォルダ、galleryフォルダ、携帯、スマホ版も使用する場合にはそのファイルをアップし、「upimg」ディレクトリのパーミッションを書き込み可能な755 or 777等に設定し、data/news.datのパーミッションを書き込み可能な666等にしてください。
これで完了です。

各パーミッションの適切な値はサーバーのマニュアル等を参考に変更下さい。
サーバーによっては値が違う、または変更の必要自体無いこともあります。
もしパーミッションの設定が間違っていた場合ですが、すべての環境での保証はありませんが管理画面にてその旨警告が表示されるよう設定しています。またもしパーミッションが間違いの場合には「upimg」ディレクトリの場合、news.datの場合ともに新規投稿時にエラーで登録自体ができません。
要するにまともに動かないのでテスト段階ですぐに気付けます。
逆にそのようなことがない場合は適切なパーミッションになっていると考えてOKです。
ちなみにエックスサーバーの場合、今のところパーミッション変更は不要です。

4.投稿テストとブラウザで結果確認

ブラウザで「あなたのサイトのURL」/gallery/admin.phpを表示し、管理画面にログイン後投稿を行ってみてください。正常に登録、編集できればOKです。
埋め込んだgallery.php等、またはインラインフレームの場合にはそのページをブラウザで確認してみて下さい。
投稿データが反映されていればOKです。
管理画面で画像、キャプションの変更も可能かどうかもチェックしてください。

5. ページの調整

設置するページやその他必要に応じてスタイルシート、HTML等で見た目の調整を行ってください。じゆ~です!

これら設置法などはダウンロードファイル内のReadme.txtにも記述しています。

充分な検証は行っておりますが、配布直後は未知の不具合等が無いとも限りませんので、気になる点などがあれば遠慮なくお問い合わせ下さい。
また使用感などもいただけますとものすごーくありがたいです。

インラインフレーム使用時のタグ例

以下のタグを表示させたい場所に貼り付ければOKです。
必要に応じて幅、高さ、パス等を調整してください。

著作権表示削除について(2,000円+消費税/1サイト)

デフォルトでは全ページ下部に著作権表示リンクがあります。
これらの著作権表示の削除には1サイトあたり2000円+消費税の使用料金が必要になります。
お支払いいただいた場合、これらすべての表示が削除されます。
2サイト目以降は都度料金が必要になります。

ご利用について

HTMLやCSSなどをある程度理解されている方を対象としています。
カスタマイズ方法などのサポートは行っておりませんのでご了承ください。
カスタマイズ方法、修正方法などに関するサポートは有料にて承ります。
管理人1人で運営していますので。。。

設置の際の不明点や気になった点、不具合等があれば遠慮なくなんでもご連絡ください。

動作確認済PHPバージョン

PHP4.3.9~PHP8.1

動作確認済レンタルサーバー

  • エックスサーバー [PR]
    ※個人的にはここが好きで、もうずっとここです。このサーバーで困ることはまずないでしょう。
  • ロリポップ! [PR]
    ※ただしここはWAF機能がONの場合、CMSプログラムで問題が発生する可能性が高いです。詳細はこちら
    またサーバーがブラックリストに登録されてしまいメール系のプログラムで受信できない大問題も多々確認されています。詳細はこちら
     ただコスパ的には有りだと思います。
  • カゴヤのレンタルサーバー [PR]
    ここは高機能、高スペック、良心的な価格でありながら風俗系のサイトがOKという非常に貴重なサーバーです。個人的には風俗系のサイトであればこのサーバー以外の選択肢はないと思ってます。
  • さくらのレンタルサーバ [PR]

その他一般的なレンタルサーバーであれば問題なく動作するはずですが、
すべての環境(サーバー)での動作を保証するものではありませんのでご了承下さい。

問題が出る可能性が高い、またはそのままでは必ず問題が出ることが分かっているサーバー

※現状私自身が把握している範囲です。(実際に確認していますのでちゃんと根拠もあります)
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版としてプログラムの配布を開始

PHPメールフォーム(無料版)

PHPメールフォーム(有料版)

新着情報・更新履歴CMS(無料版)

投票・アンケートシステム(無料版)

テロップCMS(無料版)

写真ギャラリーCMS(無料版)

営業日カレンダーCMS(無料版)

営業日カレンダーCMS(有料版)

カレンダー予約フォーム(無料版)

カレンダー予約フォーム(有料版)

リンク集ページCMS(無料版)

アクセスカウンター(無料版)

ダウンロードカウンター(無料版)

その他

メールフォームの各種カスタマイズならお任せ下さい
業務効率化が可能なPHPオリジナルCMS制作します

役立つかも?なもの

豆知識や役立ち事など

PHPについて

各種情報