Дополнительно
Как принудительно загрузить файл с помощью PHP
Я хочу потребовать, чтобы файл загружался при посещении пользователем веб-страницы с помощью PHP. Я думаю, что это как-то связано с file_get_contents
, но не уверен, как это выполнить.
$url = "http://example.com/go.exe";
После загрузки файла с помощью header(location)
он не перенаправляет на другую страницу. Он просто останавливается.
111
10
Прочитайте документацию о встроенной функции PHP readfile
Также не забудьте добавить соответствующий тип содержимого в зависимости от типа вашего файла application/zip, application/pdf и т.д. - но только если вы не хотите вызывать диалог сохранения.
правильно
или лучше один для exe типа файлов
Или, когда файл не открывается браузером, можно просто использовать заголовок
Location
:Экран первый файл и установите его значение в URL-адрес.
index.php
download.php
В случае, если вам нужно загрузить файл с размером, превышающим допустимый предел памяти (
memory_limit
ini параметр), который приведет кв PHP фатальная ошибка: позволенный размер памяти ошибка 5242880 байт исчерпаны
, вы можете сделать это:Модификация принятый ответ выше, который также определяет MIME-тип в runtime:
Следующий код является корректным способом реализации сервис загрузки в PHP, как описано в следующем учебник
http://php.net/manual/en/function.readfile.php
<?в PHP файл $ = 'обезьяна.джиф';
если (file_exists($файл)) {
}
?>
Что'ы все, что вам нужно. "у обезьян.джиф" и изменить имя файла. Если вам нужно скачать с другого сервера, то "обезьяна.гиф на" изменение "и http://www.exsample.com/go.exe"
попробуйте это:
Вы можете скачать ручей, который будет потреблять значительно меньше ресурсов. пример:
В приведенном выше примере, я скачиваю test.zip (который фактически является Android-студия молнию на моей локальной машине). в PHP://output-это только для записи потока (обычно используется Echo или Print). после этого, вам нужно просто установить необходимые заголовки и назвать stream_copy_to_stream(источник, назначение). stream_copy_to_stream() метод действует как труба, которая принимает входные данные из потока источника (поток чтения) и трубы к потоку пункта назначения (запись стрима).