Я хочу, чтобы php загрузил форму изображения, чтобы проверить имя файла и, если он существует, спросить, хочу ли я перезаписать - PullRequest
0 голосов
/ 08 июня 2011

У меня есть 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 ]

1 голос
/ 08 июня 2011

Вы спросили, можете ли вы сделать это со стороны клиента, не загружая файл на сервер - ответ - не так просто.

Единственный способ сделать это - создать обработчик AJAX, которому вы передадите имя файла изображения и вернете ответ, если файл существует, а затем соответственно отобразите всплывающее окно.

1 голос
/ 08 июня 2011

Если вы читаете с $_FILES, то данные уже были опубликованы на сервере. Технически можно вернуть страницу с ошибкой пользователю с просьбой подтвердить перезапись, но было бы более элегантно и эффективнее проверить существование имени файла / пути через ajax перед отправкой фактических данных файла на сервер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...