PHP скрипт, не может применить команду к сгенерированному файлу

У меня очень простой код, но последняя команда не может применить его к сгенерированному файлу, я не могу переименовать файл и не знаю почему. это не проблема переименования, потому что если я изменю переименование для $cmd ="cp '$textfile''$file'" или же $cmd ="mv '$textfile''$file'", это тоже не работает. Я лучше объясню это с помощью кода:

<?php
// the original file to work with
$file = "COPYING.odt";

//change the extension of doc|pdf|docx|odt|rtf files to txt
$txtfile = preg_replace('"\.(doc|pdf|docx|odt|rtf)$"', '.txt', $file);

//convert the odt file into txt and name it with the original name but txt extension
$cmd = "/usr/bin/unoconv -f txt '$file' -o '$textfile'";
shell_exec($cmd);

//store the file in the originals files folder
rename("$file", "orig/$file");

//rename the generated txt file with the original name and extension "COPYING.odt"rename("$textfile", "$file");


echo "conversion of file <em>$file</em> done";
?>

Какие-либо предложения? Благодарю.

ОБНОВИТЬ Я забыл сказать, что я применяю этот скрипт к загруженному файлу, поэтому я не могу дать статическое имя $ file, но переменную $ file.

ОБНОВЛЕНИЕ 2 После предложения @AlanMachado я изменился милливольт команда для переименовать, и это переименование работает, но не следующее.

0

Решение

Извините, ребята, я был три дня с этим сценарием, поэтому я задаю вопрос в Stackoverflow, но только сейчас я понял, что это ошибка TYPO, да:

$txtfile = preg_replace('"\.(doc|pdf|docx|odt|rtf)$"', '.txt', $file);

txtfile без e в txt, в то время как

rename("$textfile", "$file");

текстовый файл с е в тексте, мне очень жаль.

В любом случае, я не знаю, почему результатом этой команды был файл с правильным именем:

$cmd = "/usr/bin/unoconv -f txt '$file' -o '$textfile'";
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru