2010-07-01 181 views
0

我想更改一個文件exenstion,但每當我做文件似乎損壞。PHP更改文件擴展名

$oldFileName = $targetDir . DIRECTORY_SEPARATOR . $fileName; 
$newString = preg_replace('"\.tmp$"', '.jpg', $oldFileName); 
rename($oldFileName, $newString); 

該代碼的工作原理和更改擴展名,但下載時,文件出現爲損壞。

exure是.tmp,我試圖將其更改爲.jpg。

如果我下載.tmp文件並手動將其更改爲.jpg,但它不起作用,但當PHP執行此操作時不起作用。

任何人都知道爲什麼會發生這種情況?

謝謝!

回答

5

試試這個

<?php 
$file = 'example.txt'; 
$newfile = 'example.txt.bak'; //new file with extension 

if (!copy($file, $newfile)) { 
    echo "failed to copy $file...\n"; 
} 
?> 
+0

謝謝!複製功能似乎解決了問題,重命名只是破壞了文件。 – Kyle 2010-07-01 16:05:23

+0

如果這樣做,然後+1,但重命名()不應該打破文件?!這真的很奇怪。無論如何.... – 2010-07-01 16:07:22