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

frename PHP 靈活文件命名函數 frename

對付這種情況,有的做法是用時間戳對新文件進行重新命名,有的是用序號遞增的方法,為了解決麻煩的操作,我在最近編寫了一個frename函數,可以靈活依據自定義的規則取得上傳文件的新命名,特此分享。
復制代碼 代碼如下:
<?php
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 '<br />序號遞增規則:' . frename(__FILE__, '{name}{n}');
echo '<br />n個前導0的序號遞增規則:' . frename(__FILE__, '{name}{5n}');
echo '<br />用分隔符<span style="color: #E00;">_</span>并帶有3個前導0的序號遞增規則:' . frename(__FILE__, '{3n}<_>{name}');
echo '<br />使用時間日期元素組合的規則:' . frename(__FILE__, '{y}_{m}_sg42nca_{h}_{i}_{s}');
echo '<br />使用簡寫形式的時間日期元素組合的規則:' . 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 '默認規則(時間戳):' . frename(__FILE__);
echo '<br />序號遞增規則:' . frename(__FILE__, '{name}{n}');
echo '<br />n個前導0的序號遞增規則:' . frename(__FILE__, '{name}{5n}');
echo '<br />用分隔符<span style="color: #E00;">_</span>并帶有3個前導0的序號遞增規則:' . frename(__FILE__, '{3n}<_>{name}');
echo '<br />使用時間日期元素組合的規則:' . frename(__FILE__, '{y}_{m}_sg42nca_{h}_{i}_{s}');
echo '<br />使用簡寫形式的時間日期元素組合的規則:' . frename(__FILE__, '{Y}_{M}_{D}_{H}_{i}_{s}');
echo '<br />其他自定義組合:' . frename(__FILE__, '{timestamp}_{name}<_>{n}');
?>

php技術frename PHP 靈活文件命名函數 frename,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 99精品热视频30在线热视频 | 奶好大下面流了好多水水 | 小莹的性荡生活 | 蜜芽一区二区国产精品 | www红色一片 | 好看的电影网站亚洲一区 | 久啪久久全部视频在线 | 欧美性猛交XXXX乱大交极品 | 玖玖热视频一区二区人妻 | 2022国产91精品久久久久久 | 调教女M屁股撅虐调教 | 一本道本线中文无码 | 国产成人欧美日韩在线电影 | 浪潮色诱AV久久久久久久 | 3D漫画H精品啪啪无码 | 精子射到丝袜上图 | 一起碰一起噜一起草视频 | 武汉美女洗澡 | 中文字幕人成人乱码亚洲影视S | 熟女人妻久久精品AV天堂 | 亚洲精品国产精品精 | 国产香蕉尹人视频在线 | 扒开双腿疯进出爽爽爽动态图 | 最懂男人心论坛 | 天上人间影院久久国产 | 18禁无遮遮挡羞漫画免费阅读 | 999久久久国产精品蜜臀AV | 日本一本2017国产 | 动漫成年美女黄漫网站 | 野花韩国中文版免费观看 | WWW婷婷AV久久久影片 | 国产伦精品一区二区免费 | 无码日韩人妻精品久久蜜桃免费 | 亚洲国产综合久久精品 | 亚洲国产成人爱AV在线播放丿 | 国产精品熟女人妻 | 亚洲精品色婷婷在线蜜芽 | 翘臀后进美女白嫩屁股视频 | 9久久免费国产精品特黄 | 精品久久99麻豆蜜桃666 | 日本高清二区 |