小77论坛文学欣赏 frenamePHP纯真文献定名函数frename
拼凑这种情况,有的作念法是用技巧戳对新文献进行重新定名,有的是用序号递加的措施小77论坛文学欣赏,为了处治奋力的操作小77论坛文学欣赏,我在最近编写了一个frename函数,不错纯真依据自界说的规则获得上传文献的新定名,特此共享。代码如下:function frename($file, $rule='{timestamp}', $force = true) {/* -----------------------* author: m35* date: 2009/8/11* 依据定名规则获得文献的新定名,以处理上传文献等操作时遭遇的文献名已存在的情况* @parm1 $file -- 文献物理旅途* @parm2 $rule -- 定名规则, 默许为技巧戳* @parm3 $force -- 是否强制定名,若是是强制,就算该野心文献不存在也会对其进行定名,默许强制* retrun str -- 依据$rule定名的新文献旅途* 示例:echo '默许规则(技巧戳):' . frename(__FILE__);echo '序号递加规则:' . frename(__FILE__, '{name}{n}');echo 'n个前导0的序号递加规则:' . frename(__FILE__, '{name}{5n}');echo '用分隔符_并带有3个前导0的序号递加规则:' . frename(__FILE__, '{3n}{name}');echo '使用技巧日历元素组合的规则:' . frename(__FILE__, '{y}_{m}_{d}_{h}_{i}_{s}');echo '使用简写神色的技巧日历元素组合的规则:' . frename(__FILE__, '{Y}_{M}_{D}_{H}_{i}_{s}');echo '其他自界说组合:' . frename(__FILE__, '{timestamp}_{name}{n}');----------------------- */if (!$force && !file_exists($file)) return $file;$filename = basename($file);$path = str_replace($filename, '', $file);$suffix = substr($filename, strrpos($filename, '.'));$name = str_replace($suffix, '', $filename);$timestamp = time();list($y, $Y, $m, $M, $d,影音先锋色情bt种子 $D, $h, $H, $i, $s) = explode(',', date('Y,y,m,n,d,j,h,G,i,s'));$tempname = str_replace(array('{name}', '{timestamp}', '{y}', '{Y}', '{m}', '{M}', '{d}', '{D}', '{h}', '{H}', '{i}', '{s}'),array($name, $timestamp, $y, $Y, $m, $M, $d, $D, $h, $H, $i, $s),$rule);if (preg_match('/\{(\d?)n\}/', $rule, $n)) {preg_match('/]+)>/', $tempname, $sep);$file = $path . str_replace(array($n[0], $sep[0]), array('', ''), $tempname) . $suffix;if (!file_exists($file)) return $file;$tempname = str_replace($sep[0], $sep[1], $tempname);$tname = $tempname;$i = 1;do {$nn = sprintf("%0{$n[1]}s", $i);$tempname = str_replace($n[0], $nn, $tname);$file = $path . $tempname . $suffix;}while (file_exists($file));return $file;} else {$file = $path . $tempname . $suffix;if (file_exists($file)) return false;else return $path . $tempname . $suffix;}}echo '默许规则(技巧戳):' . frename(__FILE__);echo '序号递加规则:' . frename(__FILE__, '{name}{n}');echo 'n个前导0的序号递加规则:' . frename(__FILE__, '{name}{5n}');echo '用分隔符_并带有3个前导0的序号递加规则:' . frename(__FILE__, '{3n}{name}');echo '使用技巧日历元素组合的规则:' . frename(__FILE__, '{y}_{m}_{d}_{h}_{i}_{s}');echo '使用简写神色的技巧日历元素组合的规则:' . frename(__FILE__, '{Y}_{M}_{D}_{H}_{i}_{s}');echo '其他自界说组合:' . frename(__FILE__, '{timestamp}_{name}{n}');?>一起 初中生系列