現役プログラマのWordPressカスタマイズ相談

WordPress(ワードプレス)のお悩み、うまくいかなくてお困りなこと、不具合調査、新規制作依頼まで、ウェブアプリケーションエンジニアがあなたをサポートします。

Image Sharing Scriptのカスタマイズ

f:id:jsaz:20160725232611p:plain


imagesharingscript.com

Image Sharing Scriptという画像共有サービスを展開できるPHPの有料スクリプトがあるようです。


一般ユーザーによる画像のアップロード、閲覧、管理画面での画像の管理が主な機能です。
pinterest(ピンタレスト)によく似ています。
今回はそのような画像共有サービスを運営されているお客様からのお問い合わせです。


画像一覧ページに各画像(投稿されて画像)のファイルサイズを表示したいというご要望でした。
まず既存のテーブルに「画像の横幅」「画像の高さ」「画像の容量」のカラムがないため、カスタマイズする必要があります。
DBはMySQLだったので"ALTER TABLE" を使いテーブルの拡張を行います。

ALTER TABLE posts ADD img_width int(11) NOT NULL DEFAULT 0 COMMENT '画像 横幅';
ALTER TABLE posts ADD img_height int(11) NOT NULL DEFAULT 0 COMMENT '画像 高さ';
ALTER TABLE posts ADD img_size BIGINT NOT NULL DEFAULT 0 COMMENT '画像 容量';


次に画像登録時にファイルサイズや幅、高さの取得です。
$uploadedimage はPOSTで渡ってきた画像ファイルが入りますので、getimagesize()の結果をUPDATEすればOKです。

$uploadedimage = $_FILES['postimage']['tmp_name'];
:
:
$theimageinfo = getimagesize($uploadedimage);
:
:
//image file size
$img_size = filesize($uploadedimage);
//image file width
$img_width = isset($theimageinfo[0]) ? $theimageinfo[0] : 0;
//image file height
$img_height =  isset($theimageinfo[1]) ? $theimageinfo[1] : 0;
//UPDATE
$query="UPDATE posts SET img_size={$img_size}, img_width={$img_width}, img_height={$img_height} WHERE PID = {$id}";
$result_upd =$conn->execute($query);

Image Sharing Scriptの表示にはsmartyが使われています。
中カッコを使い変数をセットするだけです。


せっかくお金を出して購入したシステムでも自分の思い通りにならなければ勿体ない買い物になってしまいますよね。
著作権等で問題のないシステムに関しては改修・カスタマイズを承っております。

ご依頼いただいたお客様には大変満足してもらいました。
私もImage Sharing Scriptを使ったサービスが軌道にのれば良いなと陰ながら応援しております!