2010-07-01 12 views
0

Je suis en train de changer un fichier d'extension, mais chaque fois que je fais le fichier semble corrompre.Extension de fichier de changement de PHP

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

Le code fonctionne et modifie l'extension, mais le fichier téléchargé est corrompu.

L'extension est .tmp et j'essaie de la changer en .jpg.

Si je télécharge le .tmp et le change manuellement en .jpg cela fonctionne, mais pas quand le PHP le fait.

Quelqu'un sait pourquoi cela peut se produire?

Merci!

Répondre

5

essayer cette

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

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

Merci! La fonction de copie a semblé résoudre le problème, où le renommer vient corrompre le fichier. – Kyle

+0

Si cela l'a fait, puis +1, mais rename() ne devrait pas casser les fichiers ?! C'est vraiment étrange. En tous cas.... –