changeset 15:cbbddf99d1cd

added: filename customize function
author Sushi-k <epgrec@park.mda.or.jp>
date Wed, 15 Jul 2009 12:52:29 +0900
parents bbbc4f1ecf1d
children cf19005e65d1
files Reservation.class.php
diffstat 1 files changed, 63 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/Reservation.class.php	Tue Jul 14 20:11:42 2009 +0900
+++ b/Reservation.class.php	Wed Jul 15 12:52:29 2009 +0900
@@ -172,7 +172,69 @@
 				throw new Exception( "終わりつつある/終わっている番組です" );
 			}
 			
-			$filename = "".$crec->type.$crec->channel."_".date("YmdHis", $start_time)."_".date("YmdHis", $end_time).$RECORD_MODE[$mode]['suffix'];
+			
+			// ここからファイル名生成
+/*
+			%TITLE%	番組タイトル
+			%ST%	開始日時(ex.200907201830)
+			%ET%	終了日時
+			%TYPE%	GR/BS
+			%CH%	チャンネル番号
+			%DOW%	曜日(Sun-Mon)
+			%DOWJ%	曜日(日-土)
+			%YEAR%	開始年
+			%MONTH%	開始月
+			%DAY%	開始日
+			%HOUR%	開始時
+			%MIN%	開始分
+			%SEC%	開始秒
+			%DURATION%	録画時間(秒)
+*/
+
+			$day_of_week = array( "日","月","火","水","木","金","土" );
+			$filename = "%TYPE%%CH%_%ST%_%ET%";
+			if( defined( "FILENAME_FORMAT" ) ) {
+				$filename = FILENAME_FORMAT;
+			}
+			// あると面倒くさそうな文字を全部_に
+			$fn_title = mb_ereg_replace("[ \./\*:<>\?\\|()\'\"&]","_", trim($title) );
+			
+			// %TITLE%
+			$filename = str_replace("%TITLE%", $fn_title, $filename);
+			// %ST%	開始日時
+			$filename = str_replace("%ST%",date("YmdHis", $start_time), $filename );
+			// %ET%	終了日時
+			$filename = str_replace("%ET%",date("YmdHis", $end_time), $filename );
+			// %TYPE%	GR/BS
+			$filename = str_replace("%TYPE%",$crec->type, $filename );
+			// %CH%	チャンネル番号
+			$filename = str_replace("%CH%","".$crec->channel, $filename );
+			// %DOW%	曜日(Sun-Mon)
+			$filename = str_replace("%DOW%",date("D", $start_time), $filename );
+			// %DOWJ%	曜日(日-土)
+			$filename = str_replace("%DOWJ%",$day_of_week[(int)date("w", $start_time)], $filename );
+			// %YEAR%	開始年
+			$filename = str_replace("%YEAR%",date("Y", $start_time), $filename );
+			// %MONTH%	開始月
+			$filename = str_replace("%MONTH%",date("m", $start_time), $filename );
+			// %DAY%	開始日
+			$filename = str_replace("%DAY%",date("d", $start_time), $filename );
+			// %HOUR%	開始時
+			$filename = str_replace("%HOUR%",date("H", $start_time), $filename );
+			// %MIN%	開始分
+			$filename = str_replace("%MIN%",date("i", $start_time), $filename );
+			// %SEC%	開始秒
+			$filename = str_replace("%SEC%",date("s", $start_time), $filename );
+			// %DURATION%	録画時間(秒)
+			$filename = str_replace("%DURATION%","".$duration, $filename );
+			
+			// 文字コード変換
+			if( defined("FIESYSTEM_ENCODING") ) {
+				$filename = mb_convert_encoding( $filename, FILESYSTEM_ENCODING, "UTF-8" );
+			}
+			$filename .= $RECORD_MODE[$mode]['suffix'];
+			
+			// ファイル名生成終了
 			
 			// 予約レコードを埋める
 			$rrec = new DBRecord( TBL_PREFIX.RESERVE_TBL );