Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
画像をアップロード時に、画像の処理をするその2#WordPress
<?php
/*
Plugin Name: Paka3UploadImg2
Plugin URI: http://www.paka3.com/wpplugin
Description: 画像をアップロード時に、画像の処理をする
Author: Shoji ENDO
Version: 0.1
Author URI:http://www.paka3.com/
*/
$a = new Paka3UploadImg2 ;
class Paka3UploadImg2{
function __construct(){
add_filter('wp_handle_upload', array($this,'paka3_img_filter') );
}
function paka3_img_filter( $arrayData ){
$imgPath = $arrayData['file'] ;
$mime = wp_check_filetype(basename( $imgPath ), null );
//ここで、条件を[jpgのみとかファイル名にhoge_がついているとか]
if( $mime['type'] == "image/jpeg"){
//ファイルをイメージへ
$im = $this->paka3_imagecreate( $imgPath );
//フィルター処理
$im = $this->imageGdfunc($im);
//ファイル保存
$res = $this->paka3_image($im,$imgPath);
//イメージの削除
imagedestroy($im);
}
return $arrayData;
}
//######################
//GDのフィルターを使ってみる
//######################
private function imageGdfunc($im){
if($im && imagefilter($im, IMG_FILTER_GRAYSCALE)){
//$str = '※変換が成功しました。';
return $im;
}else{
//$str = '変換が失敗しました。';
return false;
}
}
//######################
//画像のイメージ作成(jpeg/png/gif)
//######################
private function paka3_imagecreate( $imgPath ){
$mime = wp_check_filetype(basename( $imgPath ), null );
if( $mime['type'] == "image/jpeg"){
$im = imagecreatefromjpeg( $imgPath );
}elseif( $mime['type'] == "image/png" ) {
$im = imagecreatefrompng( $imgPath );
}elseif( $mime['type'] == "image/gif" ) {
$im = imagecreatefromgif( $imgPath );
} else {
$im = false;
}
return $im;
}
//######################
//画像の保存
//######################
private function paka3_image( $im , $imgPath ){
$mime = wp_check_filetype( basename( $imgPath ), null );
if($mime['type'] == "image/jpeg"){
imagejpeg($im, $imgPath);
}elseif($mime['type'] == "image/png"){
imagepng($im, $imgPath);
}elseif($mime['type'] == "image/gif"){
imagegif($im, $imgPath);
}else{
return false;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.