Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Проблема с отдачей файла через PHP-скрипт
Форумы портала PHP.SU » PHP » Программирование на PHP » Проблема с отдачей файла через PHP-скрипт

Страниц (1): [1]
 

1. Egorrr - 01 Мая, 2010 - 15:24:29 - перейти к сообщению
Подскажите, как корректно отдавать файл через скрипт, форсировав диалог загрузки браузера, если файл расположен на удаленном сервере, и в этом скрипте файл загружается и сохраняется с изменением кодировки (структуры) данных:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $swfurl = $_GET['swfurl'];
  3. header("Content-type: application/x-shockwave-flash");
  4. header("Content-Disposition: attachment; filename=$swfurl");
  5. readfile($swfurl);
  6. ?>


Загруженный файл:
CWS\h xњ¤»Ta»-<i

Оригинальный файл:
ⶻ᫴⴪ⶻ᫴⴪ⶻ᫴⴪
2. JustUserR - 02 Мая, 2010 - 11:25:51 - перейти к сообщению
Egorrr пишет:
И в этом скрипте файл загружается и сохраняется с изменением кодировки (структуры) данных
Перекодируйте его обратно в оригинальную кодировку с помощью iconv - конечно двоичные файлы не имеют кодировки как таковой - но если к нему применилась функция перекодировки в одну сторону - то вернуть его обратно можно обратной перекодировки
Попробуйте также установить Content-Transfer-Encoding в binary и всегда указывайте Content-Length

 

Powered by ExBB FM 1.0 RC1