Я хочу, чтобы php загрузил форму изображения, чтобы проверить имя файла и, если он существует, спросить, хочу ли я перезаписать
У меня есть форма php, куда загружаются несколько изображений. Имена файлов сверяются с текущей папкой, и если есть совпадение, оно останавливается, вот упрощенная версия того, что происходит:
if (file_exists("../uploads/" . $_FILES["file"]["name"][$i])){
echo "sorry that one already exists, rename";
}else{
move_uploaded_file($_FILES["file"]["tmp_name"][$i],"" . '../uploads/'.$_FILES["file"]["name"][$i]);
echo $_FILES["file"]["name"][$i]." was uploaded";
}
Я хочу спросить: "Вы хотите перезаписать существующий файл"? Если они в порядке с этим, тогда продолжайте с move_uploaded_file(). Это может быть всплывающее окно или что-то еще. Каков наилучший способ сделать это?
2 ответа
Если вы читаете из $_FILES
тогда данные уже были размещены на сервере. Технически можно вернуть страницу с ошибкой пользователю с просьбой подтвердить перезапись, но было бы более элегантно и эффективно проверить существование имени файла / пути через ajax перед отправкой фактических данных файла на сервер.
Вы спросили, можете ли вы сделать это со стороны клиента, не загружая файл на сервер - ответ - не так просто.
Единственный способ сделать это - создать обработчик AJAX, которому вы передадите имя файла изображения и вернете ответ, если файл существует, а затем соответственно отобразите всплывающее окно.