frename PHP 유연한 파일 이름 지정 기능 frename

WBOY
풀어 주다: 2016-07-29 08:40:46
원래의
1394명이 탐색했습니다.

이러한 상황을 해결하기 위해 타임스탬프를 사용하여 새 파일의 이름을 바꾸는 방법도 있고, 일련 번호를 증가시키는 방법을 사용하는 방법도 있습니다. 최근에는 유연하게 가져올 수 있는 frename 함수를 작성했습니다. 사용자 정의 규칙에 따라 업로드됩니다. 이로써 파일의 새 이름이 공유됩니다.

코드 복사 코드는 다음과 같습니다.


function frename($file, $rule ='{ 타임스탬프}', $force = true) {
/* -----------------------
* 작성자: m35
* 날짜 : 2009/8/11
* 파일 업로드 및 기타 작업 시 파일 이름이 이미 존재하는 상황에 대처하기 위해 명명 규칙에 따라 파일의 새 이름을 얻습니다.
* @parm1 $file - - 파일의 물리적 경로
* @parm2 $rule -- 이름 지정 규칙, 기본값은 타임스탬프입니다
* @parm3 $force -- 이름을 강제로 지정할지 여부, 그렇다면 대상 파일의 이름은 다음과 같더라도 지정됩니다. 존재하지 않으면 기본값은 강제입니다.
* retrun str -- $rule
*에 따라 이름이 지정된 새 파일 경로:
echo 'Default rule (timestamp):' frename(__FILE__);
echo '
일련번호 증가 규칙:' . frename(__FILE__, '{name}{n}')
echo '
n행에 대한 일련번호 증가 규칙; 0s:' . frename(__FILE__, '{name} {5n}');
echo '
앞에 3개로 구분 기호 _ 0s:' . frename(__FILE__, '{3n }<_>{name}');
echo '
시간 및 날짜 요소 조합 사용 규칙:' . frename(__FILE__, '{ y}_{m}_{d}_{ h}_{i}_{s}');
echo '
축약된 시간 및 날짜 요소 조합 사용 규칙:' . __FILE__, '{Y}_{M}_ {D}_{H}_{i}_{s}')
echo '
기타 맞춤 조합:' . '{타임스탬프}_{이름}< _>{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(); ($y, $Y, $m, $M, $d, $D, $h, $H, $i, $s) = 폭발(',', 날짜('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}'),
배열($name, $timestamp, $y, $Y, $m, $M, $d, $D, $h, $H, $i, $s),
$rule
);
if (preg_match(' /{(d?)n}/', $rule, $n)) {
preg_match('/<([^>] )>/', $tempname, $sep);
$path . str_replace(array($n[0], $sep[0]), $tempname)
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);
$path . $tempname .
}
while (file_exists($file)); {
$path . $tempname .
if (file_exists($file)) return false
else return $tempname . >}
echo '기본 규칙(타임스탬프):' . frename(__FILE__)
echo '
일련 번호 증가 규칙:' . frename(__FILE__, '{name}{n}' );
echo '
n개의 선행 0에 대한 일련번호 증가 규칙:' . frename(__FILE__, '{name}{5n}')
echo '
사용 delimiter _ 앞에 3개의 0이 있는 시퀀스 번호 증가 규칙:' . frename(__FILE__, '{3n}<_>{name}'); > 시간과 날짜 요소의 조합 사용 규칙:' . frename(__FILE__, '{y}_{m}_{d}_{h}_{i}_{s}');
약식 사용 시간 및 날짜 요소 결합 규칙:' . frename(__FILE__, '{Y}_{M}_{D}_{H}_{i}_{s}');
echo '
{n}')


위 내용은 관련 내용을 포함하여 frename PHP 유연한 파일 명명 기능 frename을 소개한 내용이 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!