Невозможно скачать файлы - PHP - PullRequest
0 голосов
/ 08 октября 2010

Это код, который я использую.Как и предполагалось, я добавил заголовки для типа контента и расположения.

<?php
header('Content-Disposition: attachment');
header('Content-Type: application/octet-stream');

$con = mysql_connect("localhost","root","admin");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("acl_cake", $con);

$result = mysql_query("select * from attachments");

while($row = mysql_fetch_array($result))
{
echo '<a href="'.$row[2].'" target="_blank">Download</a>--'.$row[3].'<br>';
}

mysql_close($con);
?> 

До добавления заголовков у меня будет несколько ссылок, доступных на веб-странице.Всякий раз, когда я щелкаю одну из них, открывается новая страница, и содержимое этого файла отображается на новой странице.

Теперь, после добавления заголовков, при каждой загрузке страницы появляется всплывающее окно с запросомчтобы загрузить мою форму, а не файл.

Если у меня есть content-disposition:attachment; filename='file.txt', то при загрузке страницы появляется всплывающее окно для загрузки файла "file.txt", и ни одна из ссылок не отображается навеб-страница.

Я не уверен, что что-то допустил.

Я не уверен, что ошибся с заголовками.

Ответы [ 3 ]

3 голосов
/ 08 октября 2010

вам нужно отправить заголовок содержимого для принудительной загрузки

header("Content-Disposition: attachment; filename=\"my.file\"");

также явно указывает тип содержимого:

header('Content-Type: application/octet-stream');
1 голос
/ 08 октября 2010

Добавить заголовок Content-Disposition: attachment. Смотри http://apptools.com/phptools/force-download.php

0 голосов
/ 08 октября 2010

если я вас правильно понимаю, вы не захотите давать своим пользователям ссылку для загрузки текстового файла.если это так, вы можете сделать это, установив application/octet-stream -header для этого файла (например, используя php).

note: в большинстве случаев, я думаю, вам не следует этого делать,пользователь не должен выбирать, как обращаться с файлами, которые могут быть открыты браузером, и если пользователь не хочет загружать такие файлы, он может легко настроить свой браузер на то или другое.

...