#php #file #upload
#php #файл #загрузка
Вопрос:
Итак, я знаю, как загрузить файл на веб-сервер с помощью PHP. Однако вместо того, чтобы загружать ее, я просто хочу прочитать данные из файла и использовать их, БЕЗ части загрузки. Может кто-нибудь связать меня или привести пример, пожалуйста?
Комментарии:
1. Как вы хотите прочитать данные файла на сервере, не загружая эти данные на сервер?
2. Я не думаю, что это возможно. PHP — это язык на стороне сервера, он не может прочитать файл на стороне клиента. Javascript, не позволяет читать файл на локальном компьютере (за исключением только ActiveX IE). Не могли бы вы объяснить, почему вы этого хотите??
3. если вы хотите прочитать некоторые пользовательские данные (файл), вам нужно прочитать уже загруженный файл … невозможно прочитать файл, который еще не загружен на сервер
4. Чтобы иметь возможность читать файл, вам нужно, чтобы он был загружен на сервер. Довольно сложно прочитать файл, которого у вас нет. Вам не нужно использовать файл после того, как он был загружен и вы его прочитали (поскольку он, вероятно, помещен где-то в папку / tmp и в какой-то момент будет очищен системой).
Ответ №1:
из HTML файл всегда загружается на сервер, во временный каталог. если из PHP вы не переместите его в другой каталог, он будет удален позже, но вы все равно можете использовать его и прочитать в скрипте, который обрабатывает загрузку, как показано в примере is_uploaded_file()
Ответ №2:
Единственный способ сделать это — отправить данные файла через POST и работать с ним с помощью чего-то вроде
$postData = file_get_contents( 'php://input' );
PHP — это серверный язык, что означает, что ему либо нужна серверная копия файла (поскольку он не может получить доступ к клиенту), либо вам нужно отправить части файла с помощью обычных методов HTTP-запросов, с которыми может работать PHP (POST или даже GET)
Может быть способ использовать JavaScript, но я не могу придумать ни одного
Комментарии:
1. Так что да, решение состоит в том, чтобы загрузить файл.
2. Есть ли способ прочитать из временного файла, а затем удалить его?
3. @Ken да, я привел пример использования временного файла в своем ответе
Ответ №3:
возможное решение на javascript:
https://developer.mozilla.org/en/DOM/FileReader
не кроссбраузерный, работает только в версиях, совместимых с firefox и webkit html5 api