天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

frename PHP 靈活文件命名函數(shù) frename

對(duì)付這種情況,有的做法是用時(shí)間戳對(duì)新文件進(jìn)行重新命名,有的是用序號(hào)遞增的方法,為了解決麻煩的操作,我在最近編寫了一個(gè)frename函數(shù),可以靈活依據(jù)自定義的規(guī)則取得上傳文件的新命名,特此分享。
復(fù)制代碼 代碼如下:
<?php
function frename($file, $rule='{timestamp}', $force = true) {
/* -----------------------
* author: m35
* date: 2009/8/11
* 依據(jù)命名規(guī)則取得文件的新命名,以處理上傳文件等操作時(shí)遇到的文件名已存在的情況
* @parm1 $file -- 文件物理路徑
* @parm2 $rule -- 命名規(guī)則, 默認(rèn)為時(shí)間戳
* @parm3 $force -- 是否強(qiáng)制命名,如果是強(qiáng)制,就算該目標(biāo)文件不存在也會(huì)對(duì)其進(jìn)行命名,默認(rèn)強(qiáng)制
* retrun str -- 依據(jù)$rule命名的新文件路徑
* 示例:
echo '默認(rèn)規(guī)則(時(shí)間戳):' . frename(__FILE__);
echo '<br />序號(hào)遞增規(guī)則:' . frename(__FILE__, '{name}{n}');
echo '<br />n個(gè)前導(dǎo)0的序號(hào)遞增規(guī)則:' . frename(__FILE__, '{name}{5n}');
echo '<br />用分隔符<span style="color: #E00;">_</span>并帶有3個(gè)前導(dǎo)0的序號(hào)遞增規(guī)則:' . frename(__FILE__, '{3n}<_>{name}');
echo '<br />使用時(shí)間日期元素組合的規(guī)則:' . frename(__FILE__, '{y}_{m}_sg42nca_{h}_{i}_{s}');
echo '<br />使用簡(jiǎn)寫形式的時(shí)間日期元素組合的規(guī)則:' . frename(__FILE__, '{Y}_{M}_{D}_{H}_{i}_{s}');
echo '<br />其他自定義組合:' . 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, $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}', 'sg42nca', '{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 '默認(rèn)規(guī)則(時(shí)間戳):' . frename(__FILE__);
echo '<br />序號(hào)遞增規(guī)則:' . frename(__FILE__, '{name}{n}');
echo '<br />n個(gè)前導(dǎo)0的序號(hào)遞增規(guī)則:' . frename(__FILE__, '{name}{5n}');
echo '<br />用分隔符<span style="color: #E00;">_</span>并帶有3個(gè)前導(dǎo)0的序號(hào)遞增規(guī)則:' . frename(__FILE__, '{3n}<_>{name}');
echo '<br />使用時(shí)間日期元素組合的規(guī)則:' . frename(__FILE__, '{y}_{m}_sg42nca_{h}_{i}_{s}');
echo '<br />使用簡(jiǎn)寫形式的時(shí)間日期元素組合的規(guī)則:' . frename(__FILE__, '{Y}_{M}_{D}_{H}_{i}_{s}');
echo '<br />其他自定義組合:' . frename(__FILE__, '{timestamp}_{name}<_>{n}');
?>

php技術(shù)frename PHP 靈活文件命名函數(shù) frename,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产二级一片内射视频播放 | 成人永久免费视频 | 999精品影视在线观看 | 亚洲精品一本之道高清乱码 | 中国女人内谢69XXXXXA片 | 亚州精品永久观看视频 | 亚洲精品AV无码永久无码 | 亚洲字幕久久 | 色人阁综合| 亚洲精品AV一二三区无码 | 亚洲国产女人aaa毛片在线 | 中文字AV字幕在线观看 | 亚洲午夜久久久无码精品网红A片 | 朋友的娇妻好爽好烫嗯 | 国产成人女人视频在线观看 | 久久无码AV亚洲精品色午夜 | 亚洲视频精选 | 91青青草原 | bbbbbxxxxx肥胖 | 十分钟免费视频大全在线 | 有人有片的观看免费视频 | 4k岛国精品午夜高清在线观看 | 亚洲视频在线免费 | 校花娇喘呻吟校长陈若雪视频 | 亚洲性爱城 | 91精品一区二区综合在线 | 国产综合无码一区二区色蜜蜜 | 亚洲精品国产A久久久久久 亚洲精品国产AV成人毛片 | 久久91精品久久久久久水蜜桃 | 国精产品一区一区三区M | 么么哒日本影院 | 性欧美xxxxporn | 99热这里只就有精品22 | 精品无码久久久久久久久 | 91国内精品久久久久免费影院 | 国产AV亚洲精品久久久久软件 | 国产亚洲精品久久久久久白晶晶 | 97超碰97资源在线观看视频 | 99这里有精品视频视频 | 丝瓜涩涩屋黄瓜香蕉丝瓜 | 插骚妇好爽好骚 |