nouncad at mayetlite dot com 發佈了一個上傳檔案的函式,如果檔案已存在,它會將檔案重新命名為 filename[n].ext。
它只適用於副檔名剛好是三個字母的檔案,所以我修正了這個問題(並且同時進行了一些其他改進)。
<?php
function uploadfile($origin, $dest, $tmp_name)
{
$origin = strtolower(basename($origin));
$fulldest = $dest.$origin;
$filename = $origin;
for ($i=1; file_exists($fulldest); $i++)
{
$fileext = (strpos($origin,'.')===false?'':'.'.substr(strrchr($origin, "."), 1));
$filename = substr($origin, 0, strlen($origin)-strlen($fileext)).'['.$i.']'.$fileext;
$fulldest = $dest.$filename;
}
if (move_uploaded_file($tmp_name, $fulldest))
return $filename;
return false;
}
?>