Выберите локальный файл без загрузки выбранного файла - PullRequest
1 голос
/ 09 июня 2010

Я делаю простой инструмент разработки для себя, используя PHP на своем локальном сервере разработки.

Я хотел бы, чтобы у меня был простой инструмент выбора файлов, чтобы выбрать файл, не загружая его, а просто сохранив путь к файлу. Это полезно, потому что я буду единственным, кто использует этот инструмент, и поэтому PHP будет иметь доступ к выбранному файлу без его загрузки.

Моя первая мысль - иметь <input type="file"...>, но, насколько я знаю, нет способа предотвратить загрузку.

Есть ли способ сделать это?

Ответы [ 3 ]

2 голосов
/ 09 июня 2010

Предполагая, что это когда-либо будет выполняться только локально, вы могли бы написать файл chooser / locator на основе PHP. Вы бы полностью контролировали поведение и представление таким образом.

1 голос
/ 09 июня 2010

Хотя вы можете получить имя файла, введенного в поле <input type="file" …>, используя JavaScript (и отправить это имя на сервер, например, используя XMLHttpRequest), вы не можете получить полный путь, так как этосоздать огромное значение для безопасности.

Пример (для этого не нужно использовать <form>):

<input type="file" id="fileField">
<input type="button" value="Click here!" onclick="getFileName()">

<script>
function getFileName() {
  var fileEl = document.getElementById("fileField");
  console.log(fileEl.value);
  // other stuff, e.g. send fileEl.value using XMLHttpRequest
}
</script>
1 голос
/ 09 июня 2010

Я сделаю что-то похожее на тот же файл типа ввода.

Форма не будет составной, обычной формой с событием onSubmit, которая принимает значение входного файла и присваивает это значениескрытый вход, который берется в действие этой формы ...

...