Не появляется диалоговое окно «Сохранить / Открыть файл» при нажатии на ссылки на файлы

0

Я создаю html-ссылки на файлы на моем сервере, однако, когда я нажимаю ссылки, я не получаю всплывающее окно с запросом диалога "Сохранить" или "Загрузить", как этот: Изображение 174551

Я хочу получить это окно, когда я нажимаю ссылки.

Вот код, который я использую:

<?php
listDirectory(".");

function listDirectory($path) 
{     

$handle = @opendir($path);   

 while (false !== ($file = readdir($handle)))

 {         

 if ($file == '.' || $file == '..') continue;  
 if ( is_dir("$path/$file")) 
 {  
print ("<a href=\"$path/$file\">$path/$file</a>");   
 }  
 else  
 {  
print ("<a href=\"$path/$file\">$path/$file</a>"); 
  }     
  }     
 closedir($handle); 
  }
?> 

Примечание: print ("$ path/$ file"); ~ работает только для конкретного браузера (а не для IE) и загрузка каталога не может быть выполнена

Теги:

1 ответ

1

Если вам не нужно поддерживать старые браузеры, вы можете использовать атрибут загрузки HTML5.

Если необходима поддержка не-HTML5-браузеров, вы можете использовать PHP, чтобы заставить браузер загружать файл с помощью заголовка настраиваемого набора:

Content-disposition: attachment; filename=my_file.extension
Content-Type: application/octet-stream

Отправка типа содержимого приложения/октета-потока не позволяет браузеру отображать документ (например, если он является чем-то другим или что-то еще, что может отображать браузер).

  • 0
    Где дать conten-disposition и набрать в моем коде выше?
  • 0
    Вы должны написать сценарий загрузки, который делает это. Например, сопоставьте / files / filename с /files.php/filename; и пусть files.php напишет заголовки, следующие за содержимым: f.malte70.de/files.php.txt

Ещё вопросы

Сообщество Overcoder
Наверх
Меню