Intereting Posts
Как я могу реализовать фондовый фильтр в Magento? Возможно ли для PHP-приложения, встроенного поверх codeigniter, одновременно подключаться к базе данных MySQL и mongoDB? Проблемы с функцией поиска php и ajax Обязательные пользовательские поля проверки WooCommerce не подтверждают введенное значение лучший способ скопировать новые записи из одной базы данных в другую WordPress add_rewrite_tag (), add_rewrite_rule () и post_link () Список всех папок на моем компьютере (php) mysqli bind_param для массива строк Разделить html-код на две равные части контента, в PHP или JS php регулярное выражение для преобразования строки, за которой следует число, в несколько строк, за которыми следует одна из цифр Экспорт CSV в контроллер laravel 5 Динамически изменять URL-адрес или тему WordPress, если UserAgent – это iPhone Задача буферизованного запроса PHP PDO PHP Regex HTML – Извлечение URL pagination не ссылается на предложение where при нажатии новой страницы

У Firefox есть проблемы при загрузке с пространством в имени файла

Кажется, что firefox имеет проблемы с пробелами в имени файла для загрузки …

header( 'Content-Type: text/csv' ); header( 'Content-Disposition: attachment;filename='.$filename); $fp = fopen('php://output', 'w'); fputs($fp, $csvdata); fclose($fp); 

Ниже приведен пример файла с именем: Test_ Grad Fair 2_20140129_1312_607.csv

Когда я пытаюсь загрузить файл, используя приведенный выше код с помощью FireFox, происходит следующее. (основная проблема заключается в удалении расширения файла!)

Загрузить изображение из Firefox

И когда я пытаюсь загрузить его из Safari или Chrome:

Загрузка его из Safari

Я знаю, что решение может состоять в том, чтобы, возможно, сделать что-то вроде:

 $filename = str_replace(' ', '', $filename); 

Тем не менее, я предпочитаю выяснять, почему FireFox сталкивается с этой проблемой, кажется, что смешно, что у вас не может быть места в имени файла. Может ли это быть как %20 вместо космической проблемы?

Параметр filename должен быть заключен в двойные кавычки.

 header( 'Content-Disposition: attachment;filename="'.$filename.'"'); 

См. http://kb.mozillazine.org/Filenames_with_spaces_are_truncated_upon_download

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

  $file_name = 'Test Pdf.pdf'; //Your file name $original_file_name = 'Test Pdf.pdf'; //Your file name $file_name = str_replace(' ', '%20', $file_name); $file_url = asset_url("uploads/agent_logo/46/".$file_name);// Full file path including file name. ob_start(); ob_end_clean(); header('Content-Type: application/octet-stream'); header('Content-Transfer-Encoding: Binary'); header("Content-Disposition: attachment; filename=\"" . $original_file_name . "\""); readfile($file_url); 

Это будет работать для всех типов файлов и всех браузеров, включая mozilla firefox и IE