HTML Upload Form будет загружать только файлы, найденные в каталоге PHP-файла - PullRequest
0 голосов
/ 13 апреля 2010

У меня есть загрузчик изображений, который использует imgur.com API и функцию .ajax () jQuery для загрузки изображений на свои серверы. Однако, если я поищу изображение с помощью элемента <input type="file"/> формы, оно будет успешным при загрузке изображения, только если файл изображения будет найден в каталоге в том же , что и файл page.php форма находится в (показано ниже). Как я могу разрешить форме загружать изображения из любого каталога на моем компьютере?

page.php:

<form action="page.php" method="post">
    <input type="file" name="doc" id="doc" /><br/>
    <input type="image" src="go.gif" name="submit" id="submit" />
</form>

Ответы [ 3 ]

2 голосов
/ 13 апреля 2010

Вы забыли атрибут enctype="multipart/form-data" в теге form. Без этого загрузка файлов обычно не работает слишком хорошо.

Кроме того, серверу не очень важно, из какого каталога вы загружаете файлы, особенно в PHP. Загруженная копия на сервере хранится с временным именем файла ($_FILES['file']['tmp_name']), которое не имеет абсолютно никакого отношения к каталогу / имени файла на вашем компьютере.

Когда он окажется на сервере, вам придется переместить этот временный файл куда-нибудь еще, поскольку PHP автоматически удалит его после завершения работы скрипта, а вы сами не обработаете его. move_uploaded_file() - это то, что обычно используется для этого процесса.

0 голосов
/ 13 апреля 2010

Я полагаю, что jquery выполняет фактическую публикацию на http://imgur.com/api/upload, так как форма просто публикует для себя, поэтому я предполагаю, что jquery / javascript может только читать файлы в вашем веб-пространстве, а не в целом-Драйв.

0 голосов
/ 13 апреля 2010

Возможно, это единственная папка с правами на запись.

...