$value ) { $msg .= "\t" . $key . "=" . $value . "\n"; } //error_log($msg, 1, "mainte@fitsite.ne.jp"); error_log($msg, 1, "error@ddk-web.jp"); return; } //_/_/_/ UTF-8からSJIS変換 _/_/_/ function convert_utf8_sjis($aaa) { return mb_convert_encoding($aaa, "SJIS-WIN", "UTF-8"); } //_/_/_/ SJISからUTF-8変換 _/_/_/ function convert_sjis_utf8($aaa) { return mb_convert_encoding($aaa, "UTF-8", "SJIS-WIN"); } //_/_/_/ EUCからSJIS変換 _/_/_/ function convert_euc_sjis($aaa) { return mb_convert_encoding($aaa, "SJIS-WIN", "EUCJP-WIN"); } //_/_/_/ EUCからUTF-8変換 _/_/_/ function convert_euc_utf8($aaa) { return mb_convert_encoding($aaa, "UTF-8", "EUCJP-WIN"); } //_/_/_/ SJISからEUC変換 _/_/_/ function convert_sjis_euc($aaa) { return mb_convert_encoding($aaa, "EUCJP-WIN", "SJIS-WIN"); } //_/_/_/ UTF-8からEUC変換 _/_/_/ function convert_utf8_euc($aaa) { return mb_convert_encoding($aaa, "EUCJP-WIN", "UTF-8"); } //_/_/_/ SJISからJIS変換 _/_/_/ function convert_sjis_jis($aaa) { return mb_convert_encoding($aaa, "JIS", "SJIS-WIN"); } //_/_/_/ UTF-8からJIS変換 _/_/_/ function convert_utf8_jis($aaa) { return mb_convert_encoding($aaa, "JIS", "UTF-8"); } //_/_/_/ EUCからJIS変換 _/_/_/ function convert_euc_jis($aaa) { return mb_convert_encoding($aaa, "JIS", "EUCJP-WIN"); } // ============================================================================ // 処理名 : 文字変換 // 関数名 : CutStr // 引数 : $charstr 判断する値 // $len 残す文字数 // 復帰値 : 文字列 // 概要 : 指定された文字列を指定された文字数で切り、以降文字がある場合は「…」に変換 // 作成日 : 2008年10月10日 新規作成 // 更新日 : 2001年00月00日 // ============================================================================ function CutStr($charstr, $len) { if( trim( $charstr ) == "" ){ return ""; } $retstr = trim( $charstr ); if( mb_strlen( $retstr, "UTF-8" ) > $len ){ $tmpstr = mb_substr( $retstr, 0, $len, "UTF-8"); $retstr = $tmpstr . "…"; } return $retstr; } /* ---------------------------------------------------------------------- */ /* 文字エスケープ */ /* ---------------------------------------------------------------------- */ // 文字列内のHTMLタグをエスケープする function escapeHtml($arg,$allow_tags="") { // 使用付加のタグを削除する $arg = trim($arg); if ( $allow_tags == "" ) { $arg = strip_tags($arg); } else { $arg = strip_tags($arg,$allow_tags); } // HTML エンティティ変換 $arg = str_replace(array ( '&', '"', "'", '<', '>' ), array ( '&' , '"', ''' , '<' , '>' ),$arg); $arg = chk_magic_quotes($arg); return $arg; } function chk_magic_quotes($string) { if (get_magic_quotes_gpc()) { $strwk = stripslashes($string); } else { $strwk = $string; } return $strwk; } // 文字列内のHTMLエンティティを復元する function decodeHtml($arg) { // HTML デコード // PHP 4.3以降しか利用できないため環境によって調整のこと return str_replace(array( '&' , '"', ''' , '<' , '>' ), array ( '&', '"', "'", '<', '>' ),$arg); } /* ---------------------------------------------------------------------- */ /* 改行変換 */ /* ---------------------------------------------------------------------- */ //
関係を \n に変換 function br2nl($arg) { $arg = str_replace("
","\n",$arg); $arg = str_replace("
","\n",$arg); $arg = str_replace("
","\n",$arg); return $arg; } // 改行を
又は
に変換 function nl2br2($arg,$lang="HTML") { if ( $lang == "HTML" ) { // HTML $arg = str_replace("\r\n", "
", $arg); $arg = str_replace("\n", "
", $arg); } else { // XHTML nl2br は 改行コードを削除しないため使用を見送り $arg = str_replace("\r\n", "
", $arg); $arg = str_replace("\n", "
", $arg); } return $arg; } // ============================================================================ // 処理名 : NULL(長さ0の文字列)をスペースの特殊文字に変換 // 関数名 : xConvNulltoSpchar // 引数 : $charstr 判断する値 // 復帰値 : 文字列 // 概要 : 引数がNULL(長さ0の文字列)の場合特殊文字( )を返します // 作成日 : 2008年10月10日 新規作成 // 更新日 : 2001年00月00日 // ============================================================================ function ConvNulltoSpchar($charstr) { if( trim(strval($charstr)) == "" ){ return " "; } return $charstr; } // ============================================================================ // 処理名 : DBの内容を画面の文字コードに変換する // 関数名 : convFormtext // 引数 : $string 文字列 // 復帰値 : 文字列 // 概要 : 文字列を指定した文字コードに変換して返します // ============================================================================ function convFormtext( $string,$sw=0 ) { if( strval($string) != "") { $strwk = $string; if ( $sw == 0 ) { $strwk = db_out($strwk); } else{ } } return $strwk; } // ============================================================================ // 処理名 : SQL登録用文字列の囲み // 関数名 : convSQLtext // 引数 : $string 文字列 // 復帰値 : 文字列 // 概要 : 文字列をSQL登録用に囲んで返します // 作成日 : 2003年05月01日 新規作成 // 更新日 : 2001年00月00日 // ============================================================================ function convSQLtext( $string, $sw=0 ) { if( strval($string) == "") { $strwk = "NULL"; } else { $strwk = $string; if ( $sw == 0 ) { $strwk = strip_tags($strwk); } else{ } $strwk = "'" . mysql_escape_string(db_in($strwk)) . "'"; } return $strwk; } // ============================================================================ // 処理名 : NULL文字列を返す // 関数名 : convNULL // 引数 : $string 判断する値 // 復帰値 : 文字列 // 概要 : 引数が空の場合「NULL」を返します // 作成日 : 2008年09月08日 新規作成 // 更新日 : 2001年00月00日 // ============================================================================ function convNULL( $string ) { if( strval($string) == "") { $string = "NULL"; } return $string; } // ============================================================================ // 処理名 : 数値入力正規化編集 // 関数名 : number_reset // 引数 : $string 数値文字列 // 復帰値 : 数値 // 概要 : 全角入力・カンマ入力等、数値として扱えない文字列を数値として加工 // 作成日 : 2001年05月17日 坂井 新規作成 // 更新日 : 2001年00月00日 // ============================================================================ // 金額 出力用フォーマット function number_reset($string) { // カンマ区切り除去 $strwk=str_replace(",", "", $string); // 全角数値の変換 $strwk=str_replace("0", "0", $strwk); $strwk=str_replace("1", "1", $strwk); $strwk=str_replace("2", "2", $strwk); $strwk=str_replace("3", "3", $strwk); $strwk=str_replace("4", "4", $strwk); $strwk=str_replace("5", "5", $strwk); $strwk=str_replace("6", "6", $strwk); $strwk=str_replace("7", "7", $strwk); $strwk=str_replace("8", "8", $strwk); $strwk=str_replace("9", "9", $strwk); $strwk=str_replace("ー", "-", $strwk); $strwk=str_replace("-", "-", $strwk); $strwk=str_replace("+", "", $strwk); $strwk=str_replace(",", "", $strwk); $strwk=str_replace(".", ".", $strwk); $strwk=str_replace("、", "", $strwk); $strwk=str_replace(" ", "", $strwk); $strwk=str_replace(" ", "", $strwk); // NULL? if( $strwk == "" ){ $strwk = 0; } $strwk = $strwk * 1; return $strwk; } // ============================================================================ // 処理名 : 画像登録 // 関数名 : img_save // 引数 : $file 文字列 実ファイル名 // $file_name 文字列 ローカル画像ファイル名 // $prefix 文字列 保存ファイル名のプレフィックス // $datapath 文字列 保存先フォルダ // $oldimg 文字列 古い画像ファイル名(削除のため) // $ext 文字列 拡張子(固定にする場合) // 復帰値 : 文字列 データ件数 // 概要 : // ============================================================================ function img_save($file, $file_name, $prefix, $datapath, $oldimg, $ext="") { $gazo = $oldimg; if( $file_name != "" ) { if( file_exists($datapath . $oldimg) == TRUE && $oldimg != "") { // 今ある画像ファイルを削除する unlink($datapath . $oldimg); } // 新しい画像ファイルをコピーしてくる if ( empty($ext) ) { $fname = split("\.", $file_name); $cnt = count($fname); if ( $cnt > 1 ) { $ix = $cnt - 1; $gazo = $prefix . "." . $fname[$ix]; } else { $gazo = $prefix; } } else { $gazo = $prefix . "." . $ext; } copy($file, $datapath . $gazo); } return $gazo; } // ============================================================================ // 処理名 : 画像登録2 // 関数名 : img_save2 // 引数 : $file 文字列 実ファイル名 // $file_name 文字列 ローカル画像ファイル名 // $prefix 文字列 保存ファイル名のプレフィックス // $datapath 文字列 保存先フォルダ // $oldimg 文字列 古い画像ファイル名(削除のため) // $ext 文字列 拡張子(固定にする場合) // 復帰値 : 文字列 データ件数 // 概要 : // ============================================================================ function img_save2($file, $file_name, $prefix, $datapath, $oldimg, $ext="",$pic_w=0,$pic_h=0) { $gazo = $oldimg; if( $file_name != "" ) { if( file_exists($datapath . $oldimg) == TRUE && $oldimg != "") { // 今ある画像ファイルを削除する unlink($datapath . $oldimg); } // 新しい画像ファイルをコピーしてくる if ( $ext == "" ) { $fname = split("\.", $file_name); $cnt = count($fname); if ( $cnt > 1 ) { $ix = $cnt - 1; $gazo = $prefix . "." . $fname[$ix]; } else { $gazo = $prefix; } } else { $gazo = $prefix . "." . $ext; } $rtn = getPict2($file,$datapath.$gazo,$pic_w,$pic_h);//ヘッダー情報、CMYK→RGB変換有のパターン echo $rtn; } return $gazo; } // ============================================================================ // 処理名 : 画像サイズ(型)変換 // 関数名 : getPict2 // 引数 : $orgfile 文字列 変換元ファイル名(フルパス) // $tofile 文字列 変換先ファイル名(フルパス) // $pic_w 数値 変更画像サイズ(横) // $pic_h 数値 変更画像サイズ(縦) // 概要 : 横x縦サイズは指定しない場合はそのままCMYKのみRGBに変換とヘッダー情報削除を行う // 動画/静止画 判定 // 作成日 : 2011年04月06日 長田 新規作成 // ============================================================================ function getPict2($orgfile,$tofile,$pic_w=0,$pic_h=0) { // 元画像の情報を取得する // -format タイプ,ファイルサイズ,横,高 ファイル名[0] $pic_cmd = 'identify -format %m,%b,%w,%h ' . $orgfile.'[0]'; $msg = shell_exec($pic_cmd); $msg = str_replace("\n","",$msg); list($pic_type,$pic_size,$pic_width,$pic_height) = explode(",",$msg); if ( $pic_type == "" ) { return 1; // ERROR } // 動画チェック // -format シーン ファイル名[1] $pic_cmd = "identify -format %s " . $orgfile."[1]"; $pic_scene = shell_exec($pic_cmd); $pic_scene = str_replace("\n","",$pic_scene); if ( $pic_scene == "" ) { return 2; // ERROR } // 画像詳細情報を取得 $pic_cmd = "identify -verbose " . $orgfile.'[0]'; $pic_info = shell_exec($pic_cmd); $pic_info = str_replace("\n","&",$pic_info); $pic_info = str_replace(": ","=",$pic_info); //echo $pic_info; parse_str($pic_info, $aryPIC); //debug_var_dump($aryPIC); $flg_ch = 0; // 縦横設定 if ( $pic_w > 0 && $pic_h > 0 ) { // 縦-横計算 $ch_pic_width = 0; $ch_pic_height = 0; if ( ($pic_width > $pic_w) && ($pic_height > $pic_h) ) { $ch_pic_width = $pic_w; $ch_pic_height = $pic_h; $flg_ch = 1; } else { if ( $pic_width > $pic_w ) { $ch_pic_width = $pic_w; $ch_pic_height = $pic_height * $pic_w/$pic_width; $flg_ch = 1; } else if ( $pic_height > $pic_h ) { $ch_pic_height = $pic_h; $ch_pic_width = $pic_width * $pic_h/$pic_height; $flg_ch = 1; } else { $ch_pic_height = $pic_height; $ch_pic_width = $pic_width; $flg_ch = 0; // 縮小なし } } // 小数点飛ばし $ch_pic_width = floor($ch_pic_width); $ch_pic_height = floor($ch_pic_height); } else { $ch_pic_width = $pic_width*1; $ch_pic_height = $pic_height*1; } // シーンが1の場合は動画として処理 if ( $pic_scene == 0 ) { // 静的画像 // Jpeg で CMYK のときのみ RGB 変換 if ( substr($aryPIC["Format"],0,4) == "JPEG" && $aryPIC["Colorspace"] == "CMYK" ) { $pic_cmd = "convert -strip -quality 90 -colorspace RGB ".$ch_pic_width."x".$ch_pic_height ." ".$orgfile." ".$tofile;//ヘッダー情報等を削除とRGB変換 } else { $pic_cmd = "convert -strip -quality 90 -geometry ".$ch_pic_width."x".$ch_pic_height ." ".$orgfile." ".$tofile; } } else { // 動画 $pic_cmd = "convert -geometry ".$ch_pic_width."x".$ch_pic_height . " " . $orgfile . "[0] " . $tofile; } // 画像変換 exec($pic_cmd,$a,$b); return 0; } // ============================================================================ // 処理名 : 画像登録縮小機能付き // 関数名 : img_saveEx // 引数 : $file 文字列 実ファイル名 // $file_name 文字列 ローカル画像ファイル名 // $prefix 文字列 保存ファイル名のプレフィックス // $datapath 文字列 保存先フォルダ // $oldimg 文字列 古い画像ファイル名(削除のため) // $pic_w 数値 変更画像サイズ(横) // $pic_h 数値 変更画像サイズ(縦) // $ext 文字列 拡張子(固定にする場合) // $sa 数値 cropコマンド使用 "1" // $fix 文字列 "":通常のリサイズ(縦横に収まるようにする),"w":横幅に合わす,"h":縦に合わす // 復帰値 : 文字列 データ件数 // 概要 : // ============================================================================ function img_saveEx($file, $file_name, $prefix, $datapath, $oldimg, $pic_w,$pic_h, $ext="", $sa=0, $fix="") { $gazo = $oldimg; if( $file_name != "" ) { if( file_exists($datapath . $oldimg) == TRUE && $oldimg != "") { // 今ある画像ファイルを削除する unlink($datapath . $oldimg); } // 新しい画像ファイルをコピーしてくる if ( $ext == "" ) { $fname = split("\.", $file_name); $cnt = count($fname); if ( $cnt > 1 ) { $ix = $cnt - 1; $gazo = $prefix . "." . $fname[$ix]; } else { $gazo = $prefix; } } else { $gazo = $prefix . "." . $ext; } getPict($file,$datapath . $gazo,$pic_w,$pic_h,$sa,$fix); } return $gazo; } // ============================================================================ // 処理名 : 画像ファイルフォーマット変換 // 関数名 : convimg_save // 引数 : $file 文字列 実ファイル名 // $file_name 文字列 ローカル画像ファイル名 // $prefix 文字列 保存ファイル名のプレフィックス // $datapath 文字列 保存先フォルダ // $oldimg 文字列 古い画像ファイル名(削除のため) // 復帰値 : 文字列 データ件数 // 概要 : // 作成日 : 2003年02月18日 新規作成 // 更新日 : 2001年00月00日 // ============================================================================ function convimg_save($file, $file_name, $prefix, $datapath, $oldimg) { $gazo = $oldimg; if( $file_name != "" ) { if( file_exists($datapath . $oldimg) == TRUE && $oldimg != "") { // 今ある画像ファイルを削除する unlink($datapath . $oldimg); } // 新しい画像ファイルをコピーしてくる $fname = split("\.", $file_name, 2); $gazo = $prefix . ".jpg"; convIMGformat($file, $datapath . $gazo); } return $gazo; } // ============================================================================ // 処理名 : 画像フォーマット変換 // 関数名 : convIMGformat // 引数 : $orgfile 文字列 変換元ファイル名(フルパス) // $tofile 文字列 変換先ファイル名(フルパス) // 復帰値 : 文字列 データ件数 // 概要 : 変更画像サイズを超えている方に合わされる // 作成日 : 2003年01月21日 新規作成 // 更新日 : 2001年00月00日 // ============================================================================ function convIMGformat($orgfile, $tofile) { $pic_cmd = "convert $orgfile $tofile"; exec($pic_cmd,$a,$b); } // ============================================================================ // 処理名 : 画像サイズ(型)変換 // 関数名 : get_syohin_data // 引数 : $orgfile 文字列 変換元ファイル名(フルパス) // $tofile 文字列 変換先ファイル名(フルパス) // $pic_w 数値 変更画像サイズ(横) // $pic_h 数値 変更画像サイズ(縦) // 復帰値 : 文字列 データ件数 // 概要 : 長方形は正方形に切り出して縮小する // 作成日 : 2003年01月21日 新規作成 // 更新日 : 2001年00月00日 // ============================================================================ function getPict($orgfile,$tofile, $pic_w,$pic_h,$sa=0,$fix="") { $fname = split("\.", $tofile); $cnt = count($fname); if ( $cnt > 1 ) { $ix = $cnt - 1; $ext = "." . $fname[$ix]; } else { $ext = ".jpg"; } $msg = exec("identify " . $orgfile); $mesg = explode(" ",$msg); list($pic_size,$other1,$other2) = explode("+",$mesg[2]); list($pic_width,$pic_height) = explode("x",$pic_size); $type = $mesg[1]; if ( $fix == "w" ) { //横幅固定の場合 $ch_pic_width = $pic_w; $ch_pic_height = ceil($pic_height*$pic_w/$pic_width); } elseif ( $fix == "h" ) { //縦固定の場合 $ch_pic_height = $pic_h; $ch_pic_width = floor($pic_width*$pic_h/$pic_height); } else { if(($pic_width/$pic_w) >= ($pic_height/$pic_h)){ $ch_pic_width = $pic_w; $ch_pic_height = floor($pic_height*$pic_w/$pic_width); }else{ $ch_pic_height = $pic_h; $ch_pic_width = floor($pic_width*$pic_h/$pic_height); } } $pic_cmd = "convert -strip -geometry ".$ch_pic_width."x".$ch_pic_height ." $orgfile $tofile"; //echo $pic_cmd;exit; if ( $sa == 1 ) { if( $pic_width > $pic_height ) // 横長画像 { $ofs = floor(($pic_width - $pic_height) / 2); $pic_cmd = "convert -crop ".$pic_height."x".$pic_height."+".$ofs."+0" ." $orgfile $orgfile" . $ext; exec($pic_cmd,$a,$b); $pic_cmd = "convert -geometry ".$pic_w."x".$pic_h ." $orgfile" . $ext ." $tofile"; exec($pic_cmd,$a,$b); unlink($orgfile . $ext); } if( $pic_width < $pic_height ) // 縦長画像 { $ofs = floor(($pic_height - $pic_width) / 2); $pic_cmd = "convert -crop ".$pic_width."x".$pic_width."+0+".$ofs ." $orgfile $orgfile" . $ext; exec($pic_cmd,$a,$b); $pic_cmd = "convert -geometry ".$pic_w."x".$pic_h ." $orgfile" . $ext . " $tofile"; exec($pic_cmd,$a,$b); unlink($orgfile . $ext); } if( $pic_width == $pic_height ) // 正方形 { exec($pic_cmd,$a,$b); } } else { if ( $pic_width < $pic_w ) {//アップ画像の方が小さければそのままアップ copy($orgfile, $tofile); } else { exec($pic_cmd,$a,$b); } } } // ============================================================================ // 処理名 : フォームデータ正規化編集 // 関数名 : form_reset // 引数 : $string 文字列 // 復帰値 : 文字列 // 概要 : SQLで扱えない文字列を扱えるように加工 // 作成日 : 2001年07月27日 新規作成 // 更新日 : 2001年00月00日 // ============================================================================ function form_reset($string,$sw=0) { // カンマ区切り除去 $strwk=str_replace(",", "、", $string); // HTMLタグ関係の除去 $strwk = str_replace("
", "\t", $strwk); $strwk = str_replace("\r\n", "\t", $strwk); $strwk = str_replace("\n", "\t", $strwk); $strwk = str_replace("\r", "\t", $strwk); $strwk = str_replace("<", "<", $strwk); $strwk = str_replace(">", ">", $strwk); $strwk = str_replace("\"", """, $strwk); if ( $sw == 0 ) { $strwk = str_replace("\t", "\n", $strwk); } else { $strwk = str_replace("\t", "
", $strwk); } $strwk = chk_magic_quotes($strwk); return $strwk; } // ============================================================================ // 処理名 : SQL用文字編集 // 関数名 : form_reset // 引数 : $string 文字列 // 復帰値 : 文字列 // 概要 : SQLで問題がでる文字列を扱えるように加工 // 作成日 : 2001年07月27日 新規作成 // 更新日 : 2001年00月00日 // ============================================================================ function sql_reset($string) { $strwk = $string; $strwk = str_replace("\"", """, $strwk); //「"」→「"」 $strwk = str_replace("'", "''", $strwk); //「'」→「''」 //$strwk = str_replace("\\", "\\\\", $strwk); //「\」→「\\」 return $strwk; } function sql_reset_nonbsp($string) { $strwk = $string; $strwk = str_replace("'", "''", $strwk); //「'」→「''」 $strwk = str_replace("\\", "\\\\", $strwk); //「\」→「\\」 //$strwk = str_replace("&", "&", $strwk); // return $strwk; } // ============================================================================ // 処理名 : 改行文字変換 // 関数名 : form_conv_change_line // 引数 : $string 文字列 // : $sw true=>>改行タグを改行文字コードへ false=>>改行文字コードを改行タグへ // 復帰値 : 文字列 // 概要 : SQLで扱えない文字列を扱えるように加工したものを戻す // 作成日 : 2003年05月01日 新規作成 // 更新日 : 2001年00月00日 // ============================================================================ function form_conv_change_line($string, $sw) { $strwk = $string; if( $sw ){ $strwk = str_replace("
", "\n", $strwk); $strwk = str_replace("
", "\n", $strwk); } else { $strwk = str_replace("\r\n", "\n", $strwk); $strwk = str_replace("\n", "
", $strwk); } return $strwk; } // ============================================================================ // 処理名 : フォームデータ正規化編集(一部タグを許可) // 関数名 : form_reset_to // 引数 : $string 文字列 // 復帰値 : 文字列 // 概要 : SQLで扱えない文字列を扱えるように加工 // 作成日 : 2001年07月27日 新規作成 // 更新日 : 2001年00月00日 // ============================================================================ function form_reset_to($string,$sw=0) { $strwk = $string; // 許可タグを一時退避 $strwk = str_replace("", "\tbr>", $strwk); $strwk = str_replace("", "\tb>", $strwk); $strwk = str_replace("", "\ti>", $strwk); $strwk = str_replace("", "\tu>", $strwk); $strwk = str_replace("
", "\tcenter>", $strwk); $strwk = str_replace("", "\tsmall>", $strwk); $strwk = str_replace("", "\tbig>", $strwk); $strwk = str_replace("", "\tBR>", $strwk); $strwk = str_replace("", "\tB>", $strwk); $strwk = str_replace("", "\tI>", $strwk); $strwk = str_replace("", "\tU>", $strwk); $strwk = str_replace("", "\tCENTER>", $strwk); $strwk = str_replace("", "\tSMALL>", $strwk); $strwk = str_replace("", "\tBIG>", $strwk); $strwk = str_replace("", "\t/b>", $strwk); $strwk = str_replace("", "\t/i>", $strwk); $strwk = str_replace("", "\t/u>", $strwk); $strwk = str_replace("", "\t/small>", $strwk); $strwk = str_replace("", "\t/big>", $strwk); $strwk = str_replace("", "\t/font>", $strwk); $strwk = str_replace("

", "\t/p>", $strwk); $strwk = str_replace("", "\t/a>", $strwk); $strwk = str_replace("", "\t/B>", $strwk); $strwk = str_replace("", "\t/I>", $strwk); $strwk = str_replace("", "\t/U>", $strwk); $strwk = str_replace("", "\t/SMALL>", $strwk); $strwk = str_replace("", "\t/BIG>", $strwk); $strwk = str_replace("", "\t/FONT>", $strwk); $strwk = str_replace("", "\t/A>", $strwk); $strwk = str_replace("

", "\t/P>", $strwk); $strwk = str_replace("
", "\t/TABLE>", $strwk); $strwk = str_replace("", "\t/TR>", $strwk); $strwk = str_replace("", "\t/TD>", $strwk); $strwk = str_replace("
", "\t/CENTER>", $strwk); $strwk = str_replace("", "\t/table>", $strwk); $strwk = str_replace("", "\t/tr>", $strwk); $strwk = str_replace("", "\t/td>", $strwk); $strwk = str_replace("", "\t/center>", $strwk); // その他タグを禁止 $strwk = str_replace("<", "<", $strwk); // 許可タグを戻す $strwk = str_replace("\t", "<", $strwk); // 改行コードの変換 $strwk = str_replace("\r\n", "
", $strwk); $strwk = str_replace("\n", "
", $strwk); $strwk = str_replace("\r", "
", $strwk); if ( $sw == 0 ) { $strwk = str_replace("
", "\n", $strwk); } return $strwk; } /* -----------------------------------------------------------------*/ /* ページング */ /* -----------------------------------------------------------------*/ /** ページングデータを作成する * 引数: * $datacount : データ数 * $current : 現在のページ番号 * $pagesize : 1ページのデータ数 * 戻り値: * ["count"] : データ数 * ["current"] : 現在のページ番号 * ["pagesize"] : 1ページのデータ数 * ["max_page"] : 総ページ番号 * ["pos_start"] : 現在のページの最初のデータ番号 * ["pos_end"] : 現在のページの最後のデータ番号 * ["page_data"] : ページング用データ配列 * ["value"] : ページングデータ * ["text"] : ページング表示名 * ["selected"] : ページング選択状態 * ["prev"] : 前へ 表示フラグ * ["next"] : 次へ 表示フラグ * ["disp"] : ページング表示フラグ * ["prev_cnt"] : 前ページの項目数 * ["next_cnt"] : 次ページの項目数 **/ function paging($datacount,$current,$pagesize) { // 結果は配列・・・ $aryPaging[] = array(); $aryPaging["count"] = $datacount; $aryPaging["current"] = $current; $aryPaging["pagesize"] = intval($pagesize); // ページ計算 $max_page = 1; $pos_start = 0; $pos_end = $datacount; if ( $datacount > $pagesize ) { // ページ数計算 $max_page = ceil($datacount / $pagesize); // ページ指定あり? if ( $current <= $max_page ) { $pos_start = ($current-1) * $pagesize; $pos_end = $pos_start + $pagesize; if ( $pos_end > $datacount ) { $pos_end = $datacount; } } else { $pos_end = 0; } } $aryPaging["max_page"] = intval($max_page); $aryPaging["pos_start"] = $pos_start; $aryPaging["pos_end"] = $pos_end; // ページ文字列作成 // 表示: // 前 1 2 3 4 5 6 7 8 9 10 次 // ・選択ページを中心に10ページ選べるようにする。 // ・前後に10ページない場合は、存在するページから10ページ分 // ・表示外にページがある場合は、前 次 を表示する $page_start = 1; $page_end = 10; $page_prev = 0; $page_next = 0; // 現在のページをセンターにして、開始ページと終了ページを判断 $page_start = $current - 5; if ( $page_start <= 0 ) { $page_start = 1; $page_end = $page_start + 9; if ( $page_end > $max_page ) { $page_end = $max_page; } else if ( ($page_end-$page_start) > 10 ) { $page_end = $page_start + 9; } } else { $page_end = $current + 4; if ( $page_end > $max_page ) { $page_end = $max_page; if ( ($page_end-$page_start) < 10 ) { $page_start = $page_end - 9; if ( $page_start < 1 ) { $page_start = 1; } } } } // ページデータ作成 $aryPage = array(); $pageprev = 0; $pagenext = 0; $dpaging = 0; // 注意: prev & next を1ページ移動のため再判断 if ( $current > 1 ) { $pageprev = $current - 1; } if ( $current < $max_page ) { $pagenext = $current + 1; } // ページ番号 for ( $ii = $page_start; $ii <= $page_end; $ii ++ ) { $tmp = array(); $tmp["value"] = $ii; $tmp["text"] = $ii; $tmp["selected"] = $ii == $current ? "selected" : ""; $aryPage[] = $tmp; } // ページデータを表示? if ( $max_page > 1 ) { $dpaging = 1; } $aryPaging["pagedata"] = $aryPage; $aryPaging["prev"] = $pageprev; $aryPaging["next"] = $pagenext; $aryPaging["disp"] = $dpaging; // prev | next の件数 $aryPaging["prev_cnt"] = $pageprev == 0 ? 0 : $pagesize; $tmp = $datacount-($pagesize*$current); $aryPaging["next_cnt"] = $pagenext == 0 ? 0 : ( $tmp > $pagesize ? $pagesize : $tmp ); return $aryPaging; } /******************************************************************************** *[関数名 ]SiteDesignPaging * *[処理名 ]検索画面ページング列作成(ajax使用版) * *[引数 ] $aryPaging 配列 関数pagingの結果 * *[引数 ] $strFunction 文字列 リスト表示関数 * *[復帰値 ] $PageNavi 文字列 * ********************************************************************************/ function SiteDesignPaging($aryPaging,$strFunction="asyncChgPage"){ $PageNavi = ""; if ( $aryPaging["disp"] != "" ) { $PageNavi .= '
    '; if ( $aryPaging["prev"] == 0 ) { $PageNavi .= '
  • ‹‹ 前へ
  • '; } else { $PageNavi .= '
  • ‹‹ 前へ
  • '; } $wpend = $aryPaging["pagedata"][count($aryPaging["pagedata"])-1]["value"]; for ( $ii=$aryPaging["pagedata"][0]["value"];$ii<=$wpend;$ii++ ) { if ( $ii == $aryPaging["current"] ) { $PageNavi .= '
  • '.$ii."
  • "; } else { $PageNavi .= '
  • '.$ii.'
  • '; } } if ( $aryPaging["next"] == 0 ) { $PageNavi .= '
  • 次へ ››
  • '; } else { $PageNavi .= '
  • 次へ ››
  • '; } $PageNavi .= '
'; } return $PageNavi; } /******************************************************************************** *[関数名 ]DesignTopicsPaging * *[処理名 ]表示サイト(トピックス一覧)ページング列作成 * *[引数 ] $aryPaging 配列 関数pagingの結果 * *[引数 ] $strPgnm 文字列 リスト表示プログラム * *[引数 ] $strPara 文字列 リスト表示時のパラメータ(&で指定) * *[引数 ] $dsw 数値 0:

編集しない 1:

編集する * *[引数 ] $btmsw 数値 0:TOP 1:bottom * *[復帰値 ] $PageNavi 文字列 * ********************************************************************************/ function DesignTopicsPaging($aryPaging,$strPgnm="index.php",$strPara="",$dsw=0,$btmsw=0){ $PageNavi = ""; if ( $aryPaging["disp"] != "" ) { if ( $dsw == "1" ) { if ( $btmsw == "0" ) { $PageNavi .= '

    '; } else { $PageNavi .= '
      '; } } if ( $dsw == "1" && $topsw == "0" ) { $PageNavi .= '
        ';} if ( $aryPaging["prev"] == 0 ) { $PageNavi .= '
      • ‹‹ '.convert_utf8_sjis("前へ").'
      • '; } else { $PageNavi .= '
      • ‹‹ '.convert_utf8_sjis("前へ").'
      • '; } //$PageNavi .= convert_utf8_sjis(" | "); $wpend = $aryPaging["pagedata"][count($aryPaging["pagedata"])-1]["value"]; for ( $ii=$aryPaging["pagedata"][0]["value"];$ii<=$wpend;$ii++ ) { if ( $ii != $aryPaging["pagedata"][0]["value"] ) { $PageNavi .= " "; } if ( $ii == $aryPaging["current"] ) { $PageNavi .= '
      • '.$ii.'
      • '; } else { $PageNavi .= '
      • '.$ii.'
      • '; } } //$PageNavi .= convert_utf8_sjis(" | "); if ( $aryPaging["next"] == 0 ) { $PageNavi .= '
      • '.convert_utf8_sjis("次へ").' ››
      • '; } else { $PageNavi .= '
      • '.convert_utf8_sjis("次へ").' ››
      • '; } if ( $dsw == "1" ) { $PageNavi .= '
      ';} } return $PageNavi; } /******************************************************************************** *[関数名 ]DesignPagingForMobile * *[処理名 ]モバイル表示サイト(一覧)ページング列作成 * *[引数 ] $aryPaging 配列 関数pagingの結果 * *[引数 ] $strPgnm 文字列 リスト表示プログラム * *[引数 ] $strPara 文字列 リスト表示時のパラメータ(&で指定) * *[引数 ] $dsw 数値 0:

      編集しない 1:

      編集する * *[復帰値 ] $PageNavi 文字列 * ********************************************************************************/ function DesignPagingForMobile($aryPaging,$strPgnm="index.php",$strPara="",$dsw=0){ $PageNavi = ""; if ( $aryPaging["disp"] != "" ) { if ( $dsw == "1" ) { $PageNavi .= '

      ';} if ( $aryPaging["prev"] == 0 ) { $PageNavi .= ''; } else { $PageNavi .= ''.convert_utf8_sjis("← 前へ").''; } $PageNavi .= ' '; $wpend = $aryPaging["pagedata"][count($aryPaging["pagedata"])-1]["value"]; for ( $ii=$aryPaging["pagedata"][0]["value"];$ii<=$wpend;$ii++ ) { if ( $ii != $aryPaging["pagedata"][0]["value"] ) { $PageNavi .= " "; } if ( $ii == $aryPaging["current"] ) { //$PageNavi .= '
    • '.$ii."
    • "; $PageNavi .= ''.$ii.''; } else { $PageNavi .= ''.$ii.''; } } $PageNavi .= ' '; if ( $aryPaging["next"] == 0 ) { $PageNavi .= ''; } else { $PageNavi .= ''.convert_utf8_sjis("次へ →").''; } if ( $dsw == "1" ) { $PageNavi .= '
      ';} } return $PageNavi; } /******************************************************************************** *[関数名 ]DesignPagingForSMT * *[処理名 ]スマホ表示サイト(一覧)ページング列作成 * *[引数 ] $aryPaging 配列 関数pagingの結果 * *[引数 ] $strPgnm 文字列 リスト表示プログラム * *[引数 ] $strPara 文字列 リスト表示時のパラメータ(&で指定) * *[引数 ] $dsw 数値 0:

      編集しない 1:

      編集する * *[復帰値 ] $PageNavi 文字列 * ********************************************************************************/ function DesignPagingForSMT($aryPaging,$strPgnm="index.php",$strPara="",$dsw=0){ $PageNavi = ""; if ( $aryPaging["disp"] != "" ) { if ( $dsw == "1" ) { $PageNavi .= '

      ';} } return $PageNavi; } /******************************************************************************** *[関数名 ]AdminDesignPaging * *[処理名 ]管理画面ページング列作成 * *[引数 ] $aryPaging 配列 関数pagingの結果 * *[引数 ] $strPgnm 文字列 リスト表示プログラム * *[引数 ] $strPara 文字列 リスト表示時のパラメータ(&で指定) * *[復帰値 ] $PageNavi 文字列 * ********************************************************************************/ function AdminDesignPaging($aryPaging,$strPgnm="index.php",$strPara=""){ $PageNavi = ""; if ( $aryPaging["disp"] != "" ) { $PageNavi .= ''; } return $PageNavi; } /******************************************************************************** *[関数名 ]AdminDesignPaging2 * *[処理名 ]管理画面ページング列作成(ajax使用版) * *[引数 ] $aryPaging 配列 関数pagingの結果 * *[引数 ] $strFunction 文字列 リスト表示関数 * *[復帰値 ] $PageNavi 文字列 * ********************************************************************************/ function AdminDesignPaging2($aryPaging,$strFunction="asyncChgPage"){ $PageNavi = ""; if ( $aryPaging["disp"] != "" ) { $PageNavi .= ''; } return $PageNavi; } // 日付プルダウンの作成 function mkpd($strt,$end,$sel,$sw=0) { for( $ii=$strt;$ii<=$end;$ii++) { $select=""; if( $ii == $sel && $sel != "" ) { $select = "selected=\"selected\""; } if ( $sw == 0 ) { print "\n"; } else { $dd = sprintf("%02d",$ii); print "\n"; } } } // 和暦日付プルダウンの作成 function mkwarekipd($strt,$end,$sel) { for( $ii=$strt;$ii<=$end;$ii++) { $select=""; if( $ii == $sel && $sel != "" ) { $select = "selected=\"selected\""; } if ( $ii > 1988 ) { $gr = "平成"; $nen = $ii - 1988; } else { $gr = "昭和"; $nen = $ii - 1925; } print "\n"; } } // 日付プルダウンの作成(和暦表示) function mkpd_wareki($strt,$end,$sel) { for( $ii=$strt;$ii<=$end;$ii++) { $select=""; if( $ii == $sel && $sel != "" ) { $select = "selected=\"selected\""; } $dd = $ii - 1988; print "\n"; } } // 日付プルダウンの作成(西暦+和暦表示) function mkpd_seiwareki($strt,$end,$sel,$type="pc") { for( $ii=$strt;$ii<=$end;$ii++) { $select=""; if( $ii == $sel && $sel != "" ) { $select = "selected=\"selected\""; } $dd = $ii." (" . convert_wareki($ii) . ")"; if ( $type=="pc" ) { print "\n"; } else { print "\n"; } } } // 日付プルダウンの作成 function mb_mkpd($strt,$end,$sel,$sw=0) { for( $ii=$strt;$ii<=$end;$ii++) { $select=""; if( $ii == $sel && $sel != "" ) { $select = "selected=\"selected\""; } if ( $sw == 0 ) { print "\n"; } else { $dd = sprintf("%02d",$ii); print "\n"; } } } // 日付プルダウンの作成(和暦表示) function mb_mkpd_wareki($strt,$end,$sel) { for( $ii=$strt;$ii<=$end;$ii++) { $select=""; if( $ii == $sel && $sel != "" ) { $select = "selected=\"selected\""; } $dd = $ii - 1988; print "\n"; } } // ============================================================================ // 処理名 : 西暦->和暦 // 関数名 : convert_wareki // 引数 : $strseireki 数値 西暦年 // 復帰値 : 文字列 返還後文字列 H18 等 // ============================================================================ function convert_wareki($strseireki){ $strwareki=""; if ($strseireki>"1988"){ $intseireki=(integer)$strseireki-1988; $strwareki="平成" .$intseireki; } elseif ($strseireki>"1925"){ $intseireki=(integer)$strseireki-1925; $strwareki="昭和" .$intseireki; } elseif ($strseireki>"1911"){ $intseireki=(integer)$strseireki-1911; $strwareki="大正" .$intseireki; } elseif ($strseireki>"1867"){ $intseireki=(integer)$strseireki-1867; $strwareki="明治" .$intseireki; } return $strwareki."年"; } // プルダウン function mkKbnpd($aryDt,$sel,$removekey=-1) { foreach ( $aryDt as $key => $value ) { if ( $removekey != -1 ) { if ( $key >= $removekey ) { continue; } } $select = ""; if ( $key == $sel ) { $select = "selected=\"selected\""; } print "\n"; } } //ファイルサイズの表示 function GetDownloadSize($file) { $size = filesize($file); $sizes = Array('BYTE', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB'); $ext = $sizes[0]; for ($i=1; (($i < count($sizes)) && ($size >= 1024)); $i++) { $size = $size / 1024; $ext = $sizes[$i]; } return round($size, 2).$ext; } // ファイルサイズを指定の単位へ変更する // aUnit // 0 : B // 1 : KB // 2 : MB // 3 : GB // 4 : TB function chgSizeUnit($aSize,$aUnit,$aDPoint="2"){ $strRet = ""; $aryUnit = array("","K","M","G","T"); if( $aSize != "" ){ if( ereg("[0-9]",$aSize) ){ if ( $aUnit == 0 ) { $strRet = number_format($aSize) . "B"; } else { $strRet = $aSize; for ( $ii = 0; $ii < $aUnit; $ii ++ ) { $strRet = sprintf("%10.".$aDPoint."f",$strRet / 1024); } $strRet = number_format($strRet,$aDPoint) . " " . $aryUnit[$aUnit] . "B"; } } } else { return number_format(0,$aDPoint) . " " . $aryUnit[$aUnit] . "B"; } return $strRet; } /* ---------------------------------------------------------------------- */ /* 文字確認 */ /* ---------------------------------------------------------------------- */ // 文字数確認 function cntStrLen($arg) { //UTF-8だとうまくいかないので、一度SJISに変換して文字数をカウント $wk = convert_sjis($arg); return strlen($wk); } // 半角英数字確認 function is_halfAN($arg) { if ( preg_match("/^([0-9a-zA-Z\.\-]+)$/",$arg) ) { return true; } else { return false; } } // 半角英数字確認(小文字のみ function is_halfAN2($arg) { if ( preg_match("/^([0-9a-z\.\-]+)$/",$arg) ) { return true; } else { return false; } } // 半角英数字確認(特殊記号NG function is_halfAN3($arg) { if ( preg_match("/^([0-9a-zA-Z]+)$/",$arg) ) { return true; } else { return false; } } // 半角英数字確認(特殊記号OK function is_halfAN4($arg) { if ( preg_match("/^([0-9a-zA-Z\@&=+\$%#]+)$/",$arg) ) { return true; } else { return false; } } // URLの正当性確認 function is_url($arg) { if (preg_match('/^(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$/', $arg)) { return true; } else { return false; } } // URLの正当性確認 function is_url2($arg) { if (preg_match('/^([-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$/', $arg)) { return true; } else { return false; } } // メールアドレスの正当性確認 function is_email($arg) { if (preg_match('/^[a-zA-Z0-9_\.\-]+?@[A-Za-z0-9_\.\-]+$/',$arg)) { return true; } else { return false; } } // 郵便番号 function is_zip($arg) { if ( preg_match("/^([0-9]{3})-([0-9]{4})/",$arg) ) { return true; } else { return false; } } // TEL function is_tel($arg) { if ( preg_match("/^([0-9\-]+)$/",$arg) ) { return true; } else { return false; } } function is_tel2($arg) { if ( preg_match("/^(0)+[0-9]{9,10}$/",$arg) ) { return true; } else { return false; } } //利率チェック function chek_riritu($str,$up=1) { $strerr = ""; if ( $str == "" ) { $strerr = "*利率を入力してください。"; } else { if ( is_numeric($str) == false ) { $strerr = "*利率は数字で入力してください。"; } else { if ( ( $str*1 ) <= 0 ) { $strerr = "*利率は0より大きい数字を入力してください。"; } else { list($a,$b) = explode(".",$str); if ( strlen($a) > $up || strlen($b) > 3 ) { $strerr = "*利率は整数部".$up."ケタでかつ小数部3ケタまでで入力してください。"; } } } } return $strerr; } // ============================================================================ // 処理名 : 全角文字->半角変換 // 関数名 : convert_hankaku // 引数 : $str 文字列 変換元文字列 // 復帰値 : 文字列 返還後文字列 // 概要 : // 作成日 : 2003年01月21日 坂井 新規作成 // 更新日 : 2001年00月00日 // ============================================================================ function convert_hankaku($str){ return mb_convert_kana($str, "ka","SJIS-WIN"); } function convert_hankakukana($str){ return mb_convert_kana($str, "kah","SJIS-WIN"); } function convert_zenkaku($str){ return mb_convert_kana($str, "KAV","SJIS-WIN"); } function convert_zenkakukana($str){ return mb_convert_kana($str, "KACV","SJIS-WIN"); } //日付の編集 // datetime : yyyy-mm-dd HH:ii:ssxxxxx function EditDate($datetime,$brkbn=-1,$time="1") { $strDateTime = ""; if ( $datetime != "" ) { if ( $time == "1" ) { $strDate = str_replace("-","/",substr($datetime,0,10)); $strTime = substr($datetime,11,8); if ( $brkbn == 1 ) { $strDateTime = $strDate."
      ".$strTime; } else { $strDateTime = $strDate." ".$strTime; } } else { $strDateTime = str_replace("-","/",substr($datetime,0,10)); } } return $strDateTime; } //日付の編集(最新金利情報) // datetime : yyyy-mm-dd function EditDateWareki($date) { $strWareki = ""; if ( $date != "" ) { list($yy, $mm, $dd) = explode("-", $date); $wyy = $yy - 1988; $mm = $mm*1; $dd = $dd*1; $strWareki = "平成".$wyy."年".$mm."月".$dd."日"; } return $strWareki; } /* -------------------------------------------------- */ /* 文字列フラグ操作関係 */ /* -------------------------------------------------- */ function getStrFlg($sflg,$sno) { // 注意:1~指定です。 if ( $sno <= 0 || $sno == "" ) { return false; } $sno -= 1; // 文字列BITフラグの指定列の内容を返す 0~ if ( strlen($sflg) < $sno ) { return 0; } else { return substr($sflg,$sno,1); } } function setStrFlg($sflg,$sno,$arg,$pad='0') { // 注意:1~指定です。 if ( $sno <= 0 || $sno == "" ) { return false; } $sno -= 1; // 文字列BITフラグの指定列に内容をセット $src = $sflg; // 長さが足りない場合は $pad で埋める if ( strlen($src) < $sno ) { $src = str_pad($src,$sno,$pad,STR_PAD_RIGHT); } // BIT設定 return substr_replace($src,$arg,$sno,1); } function setPasswd($str,$sno=8) { $strrtn = ""; // 注意:1~指定です。 if ( $sno <= 0 && $str == "" ) { return $strrtn; } $len = strlen($str) < $sno ? $sno : strlen($str); for ( $ii=0;$ii<$len;$ii++ ) { $strrtn .= "●"; } // BIT設定 return $strrtn; } // ============================================================================ // 処理名 : テキストデータを取得 // 関数名 : get_text_data // 引数 : $string 文字列 データファイル名 // $datas 配列 レコード配列 // 復帰値 : 数値 データ件数 // 概要 : // ============================================================================ function get_text_data($string, &$datas) { // 商品情報を読み込み $dtcount = 0; if( file_exists($string) == TRUE ) { $fp=fopen($string, "r"); while($line=fgets($fp, 20480)) { $line = str_replace("\r","", $line); $line = str_replace("\n","", $line); $data = split("\t", $line); if( $data[0] == "" ){ continue; } $datas[$dtcount]=$data; $dtcount++; } fclose($fp); } return $dtcount; } // ============================================================================ // 処理名 : 商品データを追加 // 関数名 : add_text_data // 引数 : $string 文字列 データファイル名 // $tbl 文字列 配列数 // $record 文字列 データ配列 // 概要 : // ============================================================================ function add_text_data($string, $tbl, $record) { $line = ""; for($ii=0;$ii<$tbl;$ii++) { if( $line != "" ){ $line .= "\t"; } $line .= $record[$ii]; } $fp=fopen($string, "w"); fputs($fp, $line . "\n"); fclose($fp); } // ============================================================================ // 処理名 : テキストデータを更新 // 関数名 : rep_text_data // 引数 : $string 文字列 データファイル名 // $tbl 文字列 配列のキー位置 // $key 文字列 キー文字列 // $cnt 文字列 配列数 // $record 文字列 データ配列 // 概要 : // ============================================================================ function rep_text_data($string, $tbl, $key, $cnt, $rec) { $record = ""; for($ii=0;$ii<$cnt;$ii++) { if( $record != "" ){ $record .= "\t"; } $record .= $rec[$ii]; } if( file_exists($string) == TRUE ) { $fp=fopen($string, "r"); $fpo=fopen($string . ".__TMP__", "w"); while($line=fgets($fp, 204800)) { $line = str_replace("\r","", $line); $line = str_replace("\n","", $line); $data = split("\t", $line); if( $data[$tbl] == $key ) { fputs($fpo, $record . "\n"); } else { fputs($fpo, $line . "\n"); } } fclose($fp); fclose($fpo); unlink($string); rename($string . ".__TMP__", $string); } } // ============================================================================ // 処理名 : CSVファイルの出力 // 関数名 : MakeCsvF // 引数 : $record 文字列 データ配列 // 復帰値 : $string 文字列 データファイル名 // 概要 : // ============================================================================ function MakeCsvF($record) { $string = date("YmdHms")."_". uniqid("m").".csv"; $fp = fopen(CSV_PATH.$string, 'w'); $header = "email, id, passwd, url"; fputs($fp, $header."\n");//最初は「email」 for ( $ii=0;$ii= date("YmdH",strtotime($strenddate)) ) { $strName = "掲載終了"; } else { $strName = "公開中"; } } } else { $strName = "公開中"; } } } elseif ( $intflg == "2" ) { //今すぐ公開 if ( $strenddate != "" && $strenddate !="null") { if ( $strenddate == MAX_DATE ) {//無期限の場合、strtotimeの判断可能上限値(2038-01-19 03:14:07)より大きい値になっているため $strName = "公開中"; } else { if ( date("YmdH") >= date("YmdH",strtotime($strenddate)) ) { $strName = "掲載終了"; } else { $strName = "公開中"; } } } else { $strName = "公開中"; } } elseif ( $intflg == "3" ) { //非公開 $strName = "非公開"; } else { } if ( $sw != "" ) { if ( $strName == "下書き" || $strName == "非公開" ) { $strName = "非公開(下書き)"; } } return $strName; } // ============================================================================ // 処理名 : 公開期間を取得 // 関数名 : get_openterm // 引数 : $intflg 数値 公開状態 // $stropendate 文字列 公開日時 // $strenddate 文字列 公開終了日時 ← 分をなくす // 復帰値 : 文字列 公開期間 // 概要 : // ============================================================================ function get_openterm($intflg, $stropendate, $strenddate, $sw="") { $strName = ""; $stropendate = substr($stropendate,0,19); $strenddate = substr($strenddate,0,19); if ( $intflg == "0" ) { $strName = "無期限"; } elseif ( $intflg == "1" ) { //公開日指定 if ( $strenddate != "" ) { if ( $strenddate == MAX_DATE ) {//無期限の場合、strtotimeの判断可能上限値(2038-01-19 03:14:07)より大きい値になっているため $strName = "無期限"; } else { $strName = EditDate2($stropendate,"Y/m/d H:00")." ~ ".EditDate2($strenddate,"Y/m/d H:00"); } } else { $strName = "無期限"; } } elseif ( $intflg == "2" ) { //今すぐ公開 if ( $strenddate != "" && $strenddate !="null") { if ( $strenddate == MAX_DATE ) {//無期限の場合、strtotimeの判断可能上限値(2038-01-19 03:14:07)より大きい値になっているため $strName = "無期限"; } else { $strName = EditDate2($stropendate,"Y/m/d H:00")." ~ ".EditDate2($strenddate,"Y/m/d H:00"); } } else { $strName = "無期限"; } } elseif ( $intflg == "3" ) { //非公開 $strName = "無期限"; } else { } return $strName; } // ============================================================================ // 処理名 : NEWマーク終了日算出 // 関数名 : edit_endnewdate // 引数 : $newsNMDAYS 数値 日数 // $newsDATE 日付 基準日 // $newsNMDATE 日付 NEWマーク終了日 // 復帰値 : 日付型 NEWマーク終了日 // 概要 : // ============================================================================ function edit_endnewdate($newsNMDAYS, $newsDATE, $newsNMDATE) { $wkdate = ""; if ( $newsNMDAYS > 0 ) { $wkopen = strtotime($newsDATE); $wkdate = mktime( date("H",$wkopen),date("i",$wkopen),0,date("n",$wkopen),date("j",$wkopen)+$newsNMDAYS,date("Y",$wkopen)); } else { if ( $newsNMDATE != "" ) { $wkdate = strtotime($newsNMDATE); } } return $wkdate; } /* -------------------------------------------------- */ /* メルマガ関連のパスやファイル名関係 */ /* -------------------------------------------------- */ // 画像キャッシュ function makeCacheImageFileName($imgc) { // 画像キャッシュのアクチャルファイル名 return DEF_IMG_CAHCE_PATH . $imgc; } // 画像キャッシュ用URI //2011.11.14 fix(固定フラグ追加) function makeCacheImageURI($url,$file,$w,$h,$fix="") { $rtn = $url . "?file=" . $file . "&w=" . $w . "&h=" . $h; if ( $fix != "" ) { $rtn .= "&fix=" . $fix; } return $rtn; } // 画像キャッシュ用URI2 function makeCacheImageURI2($url,$path,$file,$w,$h,$fix) { return $url . "?path=" . $path . "&file=" . $file . "&w=" . $w . "&h=" . $h . "&fix=" . $fix; } // アップロード画像 function makeImageURI($url,$imgfile) { // 画像のURL用パス return $url . $imgfile; } // 画像ファイルの幅と高さ情報取得 function getImageInfo($orgfile) { // 元画像の情報を取得する // -format タイプ,ファイルサイズ,横,高 ファイル名[0] $pic_cmd = 'identify -format %m,%b,%w,%h ' . $orgfile.'[0]'; $msg = shell_exec($pic_cmd); $msg = str_replace("\n","",$msg); // TEST $aatmp = explode(",",$msg); if ( count($aatmp) != 4 ) { return false; } list($pic_type,$pic_size,$pic_width,$pic_height) = explode(",",$msg); if ( $pic_type == "" ) { return false; // ERROR } // 動画チェック // -format シーン ファイル名[1] $pic_cmd = "identify -format %s " . $orgfile."[1]"; $pic_scene = shell_exec($pic_cmd); $pic_scene = str_replace("\n","",$pic_scene); if ( $pic_scene == "" ) { return false; // ERROR } // 拡張子など分析 $path_parts = pathinfo($orgfile); // 結果を配列へ $atmp = array(); $atmp["dir"] = $path_parts['dirname']; $atmp["name"] = $path_parts['basename']; $atmp["ext"] = $path_parts['extension']; $atmp["type"] = $pic_type; $atmp["size"] = $pic_size; $atmp["width"] = $pic_width; $atmp["height"] = $pic_height; $atmp["movie"] = $pic_scene; // 0:静止画 1:動画 return $atmp; } // ============================================================================ // 処理名 : エディタ内の画像削除 // 関数名 : del_editimage // 引数 : $k_text 文字 エディタ編集テキスト // 復帰値 : なし // 概要 : // ============================================================================ function del_editimage($k_text) { $pattern = '/= DEF_ENDSEND_ID ) { //終了値になれば開始番号にリセット $cnt = DEF_STASEND_ID; } fseek($fp,SEEK_SET ,0); fputs($fp, $cnt); flock($fp, LOCK_UN); // ロックを解放する $rtn = $cnt; } else { echo "Couldn't lock the file !"; } fclose($fp); return $rtn; } /* -------------------------------------------------- */ /* デバッグ用 */ /* -------------------------------------------------- */ function debug_var_dump($arg) { echo "
      "; echo "
      ";
      	var_dump($arg);
      	echo "
      "; echo "
      "; } //携帯メルアドチェック用 function check_mobile_email_bypc($email) { $email = strtolower($email); $return = "NG"; // DoCoMo if (preg_match('!@docomo.ne.jp$!', $email)) { $return = "iモード"; } // SoftBank if (preg_match('!@softbank.ne.jp$!', $email)) { $return = "S!メール"; } if (preg_match('!@i.softbank.jp$!', $email)) { $return = "iPhone 3G"; } // ディズニー if (preg_match('!@disney.ne.jp$!', $email)) { $return = "Disney Mobile"; } //ボーダフォン(現ソフトバンク) if (preg_match('!@d.vodafone.ne.jp$!', $email)) { $return = "Vodafone 北海道"; } if (preg_match('!@h.vodafone.ne.jp$!', $email)) { $return = "Vodafone 東北・新潟"; } if (preg_match('!@t.vodafone.ne.jp$!', $email)) { $return = "Vodafone 関東・甲信"; } if (preg_match('!@c.vodafone.ne.jp$!', $email)) { $return = "Vodafone 東海"; } if (preg_match('!@r.vodafone.ne.jp$!', $email)) { $return = "Vodafone 北陸"; } if (preg_match('!@k.vodafone.ne.jp$!', $email)) { $return = "Vodafone 関西"; } if (preg_match('!@n.vodafone.ne.jp$!', $email)) { $return = "Vodafone 中国"; } if (preg_match('!@s.vodafone.ne.jp$!', $email)) { $return = "Vodafone 四国"; } if (preg_match('!@q.vodafone.ne.jp$!', $email)) { $return = "Vodafone 九州・沖縄"; } // Jフォン(現ソフトバンク) if (preg_match('!@jp-d.ne.jp$!', $email)) { $return = "J-Phone 北海道"; } if (preg_match('!@jp-h.ne.jp$!', $email)) { $return = "J-Phone 東北・新潟"; } if (preg_match('!@jp-t.ne.jp$!', $email)) { $return = "J-Phone 関東・甲信"; } if (preg_match('!@jp-c.ne.jp$!', $email)) { $return = "J-Phone 東海"; } if (preg_match('!@jp-r.ne.jp$!', $email)) { $return = "J-Phone 北陸"; } if (preg_match('!@jp-k.ne.jp$!', $email)) { $return = "J-Phone 関西"; } if (preg_match('!@jp-n.ne.jp$!', $email)) { $return = "J-Phone 中国"; } if (preg_match('!@jp-s.ne.jp$!', $email)) { $return = "J-Phone 四国"; } if (preg_match('!@jp-q.ne.jp$!', $email)) { $return = "J-Phone 九州・沖縄"; } // AU if (preg_match('!@ezweb.ne.jp$!', $email)) { $return = "AU"; } if (preg_match('!.biz.ezweb.ne.jp$!', $email)) { $return = "AU ビジネスメール"; } // IDO(現AU) if (preg_match('!@ido.ne.jp$!', $email)) { $return = "IDO"; } // ツーカ元AU) if (preg_match('!@sky.tkk.ne.jp$!', $email)) { $return = "ツーカーホン関西"; } if (preg_match('!@sky.tkc.ne.jp$!', $email)) { $return = "ツーカーセルラー東海"; } if (preg_match('!@sky.tu-ka.ne.jp$!', $email)) { $return = "ツーカーセルラー東京"; } // ウィルコム if (preg_match('!@pdx.ne.jp$!', $email)) { $return = "Willcom"; } if (preg_match('!@di.pdx.ne.jp$!', $email)) { $return = "Willcom"; } if (preg_match('!@dj.pdx.ne.jp$!', $email)) { $return = "Willcom"; } if (preg_match('!@dk.pdx.ne.jp$!', $email)) { $return = "Willcom"; } if (preg_match('!@wm.pdx.ne.jp$!', $email)) { $return = "Willcom"; } if (preg_match('!@willcom.com$!', $email)) { $return = "Willcom"; } // イー・モバイル if (preg_match('!@emnet.ne.jp$!', $email)) { $return = "イー・モバイル"; } return $return; } // 末日編集(指定された日付の月の末日を返す) function get_Enddate($strdate) { $d = 0; $chkdate = $strdate == "" ? date("Y-m-d") : $strdate; $y = date("Y",strtotime($chkdate)); $m = date("n",strtotime($chkdate)); if ( $m == 1 || $m == 3 || $m == 5 || $m == 7 || $m == 8 || $m == 10 || $m == 12 ) { $d = 31; } else { if ( $m == 2 ) { if ( date("L",strtotime($chkdate)) == 1 ) { //閏年 $d = 29; } else { $d = 28; } } else { $d = 30; } } return $d; } // 配信時間編集(15分間隔で次の配信時間を設定する) function get_senddatetime() { $hh = date("H"); if ( date("i") < 15 ) { $hm = 15; } elseif ( date("i") < 30 ) { $hm = 30; } elseif ( date("i") < 45 ) { $hm = 45; } else { $hm = 0; $hh = date("H") + 1; } $next = mktime( $hh, $hm, 0, date("n"), date("j"), date("Y")); $ydate = date("Y/m/d H:i:00",$next); return $ydate; } function set_ErrMag(&$str,$msg,&$aryData,$item,$sw="on") { if ( $sw == "on" ) { if ( $str != "" ) { $str .= "
      "; } $str .= $msg; } else { if ( $str == "" ) { $str .= $msg; } } if ( $item != "" ) { $aryitem = explode(",",$item); for ( $ii=0;$ii$0", $rtnmsg); } elseif ( $media == "smt" ) { $rtnmsg = preg_replace('/(https?|http)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)/', "$0", $rtnmsg); } else { $rtnmsg = preg_replace('/(https?|http)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)/', "$0", $rtnmsg); } } if ( $aryflg["mail"] == "1" ) { // メールアドレスにマッチ if ( $media == "smt" ) { $rtnmsg = preg_replace('/[a-zA-Z0-9_\.\-]+?@[A-Za-z0-9_\.\-]+/',"$0", $rtnmsg); } else { $rtnmsg = preg_replace('/[a-zA-Z0-9_\.\-]+?@[A-Za-z0-9_\.\-]+/',"$0", $rtnmsg); } } /*if ( $aryflg["tel"] == "1" ) { // 電話番号にマッチ XX-XXXX-XXXX の場合 $rtnmsg = preg_replace("/(0)+[0-9]{9,10}/", "$0", $rtnmsg); $rtnmsg = preg_replace_callback("/(0)+([0-9]|\\-){11,12}/", "tel_conv", $rtnmsg); }*/ return $rtnmsg; } /* -------------------------------------------------- */ /* テンポラリーファイル関連 */ /* -------------------------------------------------- */ //テンポラリーファイリ仮アップ処理 function temp_img_up($name,$filegrp,$newimg) { $strimg = ""; $IMG_PREFIX = uniqid($name); if ($filegrp["name"] != "") { //新しいファイルがされ、かつ前に新規画像が既に保存されている場合は、テンポラリ画像を削除 if( file_exists(IMG_TMP_DIR . $newimg) == TRUE && $newimg != ""){ unlink(IMG_TMP_DIR . $newimg); } // 画像データを一時保管する $strimg = img_save($filegrp["tmp_name"], $filegrp["name"], $IMG_PREFIX, IMG_TMP_DIR, ""); } return $strimg; } //テンポラリーファイル保存処理 function temp_img_save($delkbn,$oldimg,$newimg,$prename,$imgfolda) { $strimg = $oldimg; if ( $delkbn == "1" ) { //画像の削除 //テンポラリファイルがある場合削除 if( file_exists(IMG_TMP_DIR.$newimg) == TRUE && $newimg != "" ){ unlink(IMG_TMP_DIR.$newimg); } //保存ファイルがある場合削除 if( file_exists($IMGFLDA.$oldimg) == TRUE && $oldimg != "" ){ unlink($IMGFLDA.$oldimg); } if ( $oldimg != "" ) { //画像キャッシュファイルの削除 delCacheImageFile($oldimg); } $strimg = ""; } else { $tofilepre = $prename."_".date("YmdHis"); $orgfile = IMG_TMP_DIR . $newimg; //テンポラリファイルがある場合 if( file_exists($orgfile) == TRUE && $newimg != "") { // ファイル名 $path_parts = pathinfo($orgfile); $file_name = $tofilepre.".".$path_parts["extension"]; $tofile = $imgfolda.$file_name; copy($orgfile, $tofile); $strimg = $file_name; //テンポラリファイルの削除 unlink($orgfile); if( file_exists($IMGFLDA.$oldimg) == TRUE && $oldimg != "" ){ unlink($IMGFLDA.$oldimg); //古い画像の削除 } if ( $oldimg != "" ) { //画像キャッシュファイルの削除 delCacheImageFile($oldimg); } } } return $strimg; } function moji_convert($string) { //jisに変換できない拡張文字を戻す $strwk=$string; $strwk=mb_ereg_replace("髙", "高", $strwk); $strwk=mb_ereg_replace("﨑", "崎", $strwk); $strwk=mb_ereg_replace("朗", "朗", $strwk); $strwk=mb_ereg_replace("隆", "隆", $strwk); $strwk=mb_ereg_replace("塚", "塚", $strwk); $strwk=mb_ereg_replace("晴", "晴", $strwk); $strwk=mb_ereg_replace("﨔", "欅", $strwk); $strwk=mb_ereg_replace("凞", "煕", $strwk); $strwk=mb_ereg_replace("猪", "猪", $strwk); $strwk=mb_ereg_replace("益", "益", $strwk); $strwk=mb_ereg_replace("礼", "礼", $strwk); $strwk=mb_ereg_replace("神", "神", $strwk); $strwk=mb_ereg_replace("祥", "祥", $strwk); $strwk=mb_ereg_replace("福", "福", $strwk); $strwk=mb_ereg_replace("靖", "靖", $strwk); $strwk=mb_ereg_replace("精", "精", $strwk); $strwk=mb_ereg_replace("羽", "羽", $strwk); $strwk=mb_ereg_replace("諸", "諸", $strwk); $strwk=mb_ereg_replace("逸", "逸", $strwk); $strwk=mb_ereg_replace("都", "都", $strwk); $strwk=mb_ereg_replace("飯", "飯", $strwk); $strwk=mb_ereg_replace("飼", "飼", $strwk); $strwk=mb_ereg_replace("館", "館", $strwk); $strwk=mb_ereg_replace("鶴", "鶴", $strwk); $strwk = convert_dependent_char($strwk); return $strwk; } //機種依存文字の変換 function convert_dependent_char($string) { $strwk=$string; $strwk=mb_ereg_replace("№", "No.", $strwk); $strwk=mb_ereg_replace("℡", "TEL", $strwk); $strwk=mb_ereg_replace("Ⅰ", "I", $strwk); $strwk=mb_ereg_replace("Ⅱ", "II",$strwk); $strwk=mb_ereg_replace("Ⅲ", "III",$strwk); $strwk=mb_ereg_replace("Ⅳ", "IV",$strwk); $strwk=mb_ereg_replace("Ⅴ", "V",$strwk); $strwk=mb_ereg_replace("Ⅵ", "VI",$strwk); $strwk=mb_ereg_replace("Ⅶ", "VII",$strwk); $strwk=mb_ereg_replace("Ⅷ", "VIII",$strwk); $strwk=mb_ereg_replace("Ⅸ", "IX",$strwk); $strwk=mb_ereg_replace("Ⅹ", "X",$strwk); $strwk=mb_ereg_replace("ⅰ", "i", $strwk); $strwk=mb_ereg_replace("ⅱ", "ii", $strwk); $strwk=mb_ereg_replace("ⅲ", "iii", $strwk); $strwk=mb_ereg_replace("ⅳ", "iv", $strwk); $strwk=mb_ereg_replace("ⅴ", "v", $strwk); $strwk=mb_ereg_replace("ⅵ", "vi", $strwk); $strwk=mb_ereg_replace("ⅶ", "vii", $strwk); $strwk=mb_ereg_replace("ⅷ", "viii", $strwk); $strwk=mb_ereg_replace("ⅸ", "ix", $strwk); $strwk=mb_ereg_replace("ⅹ", "x", $strwk); $strwk=mb_ereg_replace("①", "(1)", $strwk); $strwk=mb_ereg_replace("②", "(2)", $strwk); $strwk=mb_ereg_replace("③", "(3)", $strwk); $strwk=mb_ereg_replace("④", "(4)", $strwk); $strwk=mb_ereg_replace("⑤", "(5)", $strwk); $strwk=mb_ereg_replace("⑥", "(6)", $strwk); $strwk=mb_ereg_replace("⑦", "(7)", $strwk); $strwk=mb_ereg_replace("⑧", "(8)", $strwk); $strwk=mb_ereg_replace("⑨", "(9)", $strwk); $strwk=mb_ereg_replace("⑩", "(10)", $strwk); $strwk=mb_ereg_replace("⑪", "(11)", $strwk); $strwk=mb_ereg_replace("⑫", "(12)", $strwk); $strwk=mb_ereg_replace("⑬", "(13)", $strwk); $strwk=mb_ereg_replace("⑭", "(14)", $strwk); $strwk=mb_ereg_replace("⑮", "(15)", $strwk); $strwk=mb_ereg_replace("⑯", "(16)", $strwk); $strwk=mb_ereg_replace("⑰", "(17)", $strwk); $strwk=mb_ereg_replace("⑱", "(18)", $strwk); $strwk=mb_ereg_replace("⑲", "(19)", $strwk); $strwk=mb_ereg_replace("⑳", "(20)", $strwk); $strwk=mb_ereg_replace("㈱", "(株)", $strwk); $strwk=mb_ereg_replace("㈲", "(有)", $strwk); $strwk=mb_ereg_replace("㈹", "(代)", $strwk); $strwk=mb_ereg_replace("㊤", "(上)", $strwk); $strwk=mb_ereg_replace("㊥", "(中)", $strwk); $strwk=mb_ereg_replace("㊦", "(下)", $strwk); $strwk=mb_ereg_replace("㊧", "(左)", $strwk); $strwk=mb_ereg_replace("㊨", "(右)", $strwk); $strwk=mb_ereg_replace("㎜", "mm", $strwk); $strwk=mb_ereg_replace("㎝", "cm", $strwk); $strwk=mb_ereg_replace("㎞", "km", $strwk); $strwk=mb_ereg_replace("㎎", "mg", $strwk); $strwk=mb_ereg_replace("㎏", "kg", $strwk); $strwk=mb_ereg_replace("㏄", "cc", $strwk); $strwk=mb_ereg_replace("㏍", "k.k.", $strwk); $strwk=mb_ereg_replace("㍾", "明治", $strwk); $strwk=mb_ereg_replace("㍽", "大正", $strwk); $strwk=mb_ereg_replace("㍼", "昭和", $strwk); $strwk=mb_ereg_replace("㍻", "平成", $strwk); return $strwk; } function DispErrorPage($msg="") { if ( $msg == "" ) { $msg = "※ご指定のURLはご利用できません。"; } // ヘッダー出力 (キャッシュを無効にする) header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // 過去の日付 header ("Content-Type: text/html; charset=UTF-8"); echo $msg; return; }