Я пытаюсь переименовать файлы через веб-сайт на моем веб-сервере (RasPi). Все это проходит через запрос jquery ajax, и это работает. файлы успешно переименованы, но по какой-то причине я получаю сообщение об ошибке в консоли браузера.
Когда я пытаюсь переименовать файлы из веб-браузера на пи, он работает без каких-либо ошибок.
JS Part
$.ajax({
url: 'rsrc/php/filemanager.php',
type: 'get',
data: {'action': 'renameFile', 'path': $folderpath, 'oldfilename': $oldfilename, 'newfilename': $newfilename},
success: function(answer) {
console.log(answer);
if(answer == "OK") {
location.reload();
}
},
error: function(xhr, desc, err) {
console.log(xhr);
console.log("Details: " + desc + "\nError: " + err);
}
});
PHP
if ($_GET['action'] == 'renameFile') {
$subfolderPath = $_GET['path'];
$oldfilename = $_GET['oldfilename'];
$newfilename = $_GET['newfilename'];
$preview_oldfilename = substr($oldfilename, 0, strrpos($oldfilename, ".")) . ".jpg";
$preview_newfilename = substr($newfilename, 0, strrpos($newfilename, ".")) . ".jpg";
$renameOldPath = $uploadfolder . $subfolderPath . $oldfilename;
$renameNewPath = $uploadfolder . $subfolderPath . $newfilename;
$renamePreviewOldPath = $uploadpreviewfolder . $subfolderPath . $preview_oldfilename;
$renamePreviewNewPath = $uploadpreviewfolder . $subfolderPath . $preview_newfilename;
echo $renameOldPath;
//To be revisited: Empty Error
$firstRename = rename($renameOldPath, $renameNewPath);
$secondRename = rename($renamePreviewOldPath, $renamePreviewNewPath);
if($firstRename == true && $secondRename == true) {
echo "OK";
} else {
echo "NO";
}
}
Извините за плохое форматирование здесь. Даже если я просто распечатаю пути и использую mv вручную, все работает отлично. Я все еще получаю ту же ошибку, когда я использую exec. Есть идеи, что может вызвать это? Я пробовал это на Chrome и Firefox до сих пор
Задача ещё не решена.
Других решений пока нет …