Files
THOS-Server/rename.php

32 lines
1.0 KiB
PHP
Raw Normal View History

2025-06-05 08:52:31 +02:00
<?php
$rootDir = realpath("/home/surillya/");
$data = json_decode(file_get_contents('php://input'), true);
if (empty($data['oldName']) || empty($data['newName'])) {
echo json_encode(['success' => false, 'error' => 'Missing parameters']);
exit;
}
// Resolve paths properly
$oldFullPath = realpath($rootDir . '/' . ltrim($data['oldName'], '/'));
$newFullPath = $rootDir . '/' . ltrim(dirname($data['oldName']), '/') . '/' . basename($data['newName']);
$newFullPath = realpath(dirname($newFullPath)) . '/' . basename($data['newName']); // Ensure dir exists
// Validate paths
if (!$oldFullPath || strpos($oldFullPath, $rootDir) !== 0) {
echo json_encode(['success' => false, 'error' => 'Invalid old path']);
exit;
}
if (file_exists($newFullPath)) {
echo json_encode(['success' => false, 'error' => 'New name already exists']);
exit;
}
// Attempt rename
if (rename($oldFullPath, $newFullPath)) {
echo json_encode(['success' => true]);
} else {
echo json_encode(['success' => false, 'error' => 'Rename failed']);
}