Как мне написать ссылку на HTML / PHP, которая заставит пользователя загрузить файл? - PullRequest
0 голосов
/ 22 ноября 2010

Я пишу программу на PHP, которая использует загрузку файлов и загрузку файлов. Единственная проблема заключается в том, что файлы могут быть любого типа, и я не знаю, как сделать так, чтобы ссылка отображала всплывающее окно загрузки. Как мне это сделать?

Спасибо!

Ботаник с местью

Ответы [ 3 ]

2 голосов
/ 22 ноября 2010

Итак, чтобы помочь вам собрать все это вместе.

Страница 1 (Пользователь выбирает файл для загрузки)

files_to_download.php (файл, который видит пользователь)

<a href="download.php?file=file1.pdf">PDF File</a>
<a href="download.php?file=file1.doc">Word Doc File</a>
<a href="download.php?file=file1.ppt">Power Point File</a>

download.php (файл, который связан с)

<?php
$file = $_GET['file'];

// set your path
$path = '/path/to/your/files/';

// you'd probably want to do some error check here
// e.g. does file exist, etc.

// start download
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . $file . '"');
0 голосов
/ 22 ноября 2010

Настройка правильного расположения содержимого должна работать:

header('Content-Disposition: attachment');

Это необходимо сделать в сценарии PHP, который отправляет содержимое файла.Если файлы статические и не обслуживаются через PHP, вы также можете сделать это с помощью файла .htaccess (при использовании Apache):

Header set Content-Disposition attachment
0 голосов
/ 22 ноября 2010

Если вы поместите

header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="blah.dat');

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

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