FutreShop 商品画像のアップロード前編
top-bnr

FutreShop 商品画像のアップロード前編

   2015/08/04

FutureShopに商品画像を登録する場合の処理としては

大きく分けて二段階の処理が必要になります。


1.商品画像のFTPアップロード

2.1.でアップロードした画像と、商品URLコードとの紐付けを定義したCSVファイルの登録


1.の商品画像のFTPアップロードですが、コチラのマニュアルの
p53-56によると、画像ファイルをzip圧縮しても、直接アップロードしても問題ないようです。


ただし、商品画像の種類によってはサイズの指定があるので、

リサイズした形で画像をアップロードしてあげる必要があります。


そこで今回は、元となる商品画像からFutreShopの商品画像ファイルで必要な画像を作成して

アップロードするPHPのコードのサンプルをご紹介いたします。


FutureShopは商品画像を3つまで登録できるのですが、

商品画像一つにつき、商品画像(拡大)と商品画像(モバイル)が設定でき、

さらに、サムネイル画像、サムネイル画像(モバイル)が設定できます。


先ほども書きましたが、それぞれの画像についてリサイズしたものをアップロードする必要があります。

まずは、PHPでリサイズを行う関数です。

function fileResize($file1, $file2, $resizeWidth, $resizeHeight)
{   
    $in = ImageCreateFromJPEG($file1);                      // 元画像ファイル読み込み
    $size = GetImageSize($file1);                           // 元画像サイズ取得
    
    // 画像生成
    $out = ImageCreateTrueColor($resizeWidth, $resizeHeight);
    // サイズ変更・コピー
    ImageCopyResampled($out, $in, 0, 0, 0, 0, $resizeWidth, $resizeHeight, $size[0], $size[1]);
    
    // 画像保存 
    ImageJPEG($out, $file2);
    
    ImageDestroy($in);
    ImageDestroy($out);
}

$file1を元に指定サイズにリサイズして$file2に出力します。

ImageJPEGは画像がjpegであることを大前提にしているので、gifはpngに対応するためには拡張子で判断して、

Imagegif()やImagepng()に切り替えるなどの処理が必要になるかもしれません。

 

次に実際の利用方法です。

						//商品サムネイル画像
						fileResize($imgDirName."/".$mainName, $imgDirName."/s".$mainName, 150, 150);
						//商品サムネイル画像 モバイル
						fileResize($imgDirName."/".$mainName, $imgDirName."/ms".$mainName, 150, 150);
						
						//商品メイン画像 モバイル
						fileResize($imgDirName."/".$mainName, $imgDirName."/mn".$mainName, 240, 240);
						
						//商品メイン画像
						fileResize($imgDirName."/".$mainName, $imgDirName."/n".$mainName, 240, 240);
						//元画像は拡大画像としてアップする
						
						//アップロード
						FtpUpload($ftp, $ftpdir, $mainName, $imgDirName."/".$mainName);
						FtpUpload($ftp, $ftpdir, "s".$mainName, $imgDirName."/s".$mainName);
						FtpUpload($ftp, $ftpdir, "ms".$mainName, $imgDirName."/ms".$mainName);
						FtpUpload($ftp, $ftpdir, "mn".$mainName, $imgDirName."/mn".$mainName);
						FtpUpload($ftp, $ftpdir, "n".$mainName, $imgDirName."/n".$mainName);
						
						//削除する
						unlink($imgDirName."/".$mainName);
						unlink($imgDirName."/s".$mainName);
						unlink($imgDirName."/ms".$mainName);
						unlink($imgDirName."/mn".$mainName);
						unlink($imgDirName."/n".$mainName);

$mainNameは元ファイル名、$imgDirNameは画像を一時的においておくディレクトリ名です。

$imgDirName."/".$mainNameを元に、サムネイル、サムネイル(モバイル)、商品メイン画像用にリサイズします。

元々の商品画像は600×600ピクセルで作っているので商品画像(拡大)用としてアップします。

アップロード完了後、作成した画像を削除して処理完了です。

 

サムネイル、モバイルのサイズは自由ではありますが、上記のコードくらいが目安になるのではないかと思います。

次回は商品画像CSVファイルについてご紹介します。

bottom-bnr
  • ブログランキング・にほんブログ村へ
  • FC2ブログランキングへ
  • 人気ブログランキングへ
  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る