2010-07-01 2 views
0

Я пытаюсь изменить exenstion файла, но всякий раз, когда я делаю файл, кажется, что он поврежден.PHP расширение файла изменения

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

Код работает и изменяет расширение, но при этом файл при загрузке появляется как поврежденный.

Извещение есть .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

+0

Если это произошло, то +1, но переименовать() не следует разрывать файлы ?! Это действительно странно. Так или иначе.... –

Смежные вопросы