У меня есть поле ввода, содержащее имя файла, и при нажатии кнопки «Отправить» оно меняет имя файла.переименовать файлы в директории, нажав кнопку
Если в каталоге больше 1 файла, и я меняю входные файлы, меняющие имя первого файла.
Независимо от того, сколько файлов находится в каталоге, оно только изменяет имя первого файла.
if (isset($_POST['submit'])) {
rename ($file_path.$file, $file_path.$_POST['new_name']);
header("Location: /php rename/");
exit();
echo "name changed";
}
else {
echo "name was not changed";
}
Я смотрел онлайн и не могу найти сценарий, который делает то, что мне нужно.
Я хочу, чтобы иметь возможность изменить имя второго файла, когда я нажимаю submit на второй форме файла, а затем третий/четвертый и так далее.
<?php
if ($handle = opendir('./uploaded/')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
echo'
<a id="file-link" href="./uploaded/'.$file.'" target="_blank">'.$file.'</a>
<form method="post">
<input type="text" name="new_name" value="'.$file.'">
<input type="submit" id="submit" name="submit" value="submit">
</form>
';
$file_path = "./uploaded/";
if (isset($_POST['submit'])) {
rename ($file_path.$file, $file_path.$_POST['new_name']);
header("Location: /php rename/");
exit();
echo "name changed";
}
else {
echo "name was not changed";
}
}
}
closedir($handle);
}
?>
где делает '$ file_path' и' $ file' рода, последний, очевидно, содержит имя файла первого файла в директории, если это только один меняется – NDM
Ты вам понадобится цикл, чтобы убедиться, что вы выполняете действие по всем файлам, соответствующим вашим критериям. – DevlshOne
($ file = readdir ($ handle) и $ file_path - это просто переменная с файловым путем. – sam