Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не работает функция fpassthru. Помогите срочно ...
 
 автор: jeans1986   (23.12.2007 в 08:23)   письмо автору
 
 

У меня файл выдаётся скриптом


<?
$name 
"1.jpg" 
$down "image.jpg" 
$fp fopen($name'rb'); 

header"Content-Disposition: attachment; filename=\"$down\"");   
header("Content-Type: application/octet-stream; name=\"$down\"");   
header("Content-Length: " filesize($name)); 

fpassthru($fp);
 
?>


Почему то файл выдаётся испорченным. Если я качаю файл по прямой ссылке то всё работает а если через этот скрипт то файл битый. В чём можетбыть проблема и как можно пользователю выдать файл чтоб он не зналд его реального пути. Заранее благодарю.

   
 
 автор: sim5   (23.12.2007 в 09:14)   письмо автору
 
   для: jeans1986   (23.12.2007 в 08:23)
 

Так какой из файлов вы все таки хотите отдавать - 1.jpg или image.jpg?

<?
$name 
"image.jpg";
$fp fopen("path/".$name"rb");
header("Content-Disposition: attachment; filename=".$name); 
header("Content-Type: image/ipeg"); 
header("Content-Length: ".filesize($fp)); 
fpassthru($fp);
?>

   
 
 автор: jeans1986   (23.12.2007 в 12:33)   письмо автору
 
   для: sim5   (23.12.2007 в 09:14)
 

Это я пример привёл для изображения. Мне нужно отдавать любой файл. 1.jpg это реальный файл а хочу выдать пользователю Image.jpg. Как сделдать для любого типа файла?

   
 
 автор: sim5   (23.12.2007 в 12:59)   письмо автору
 
   для: jeans1986   (23.12.2007 в 12:33)
 

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

   
 
 автор: Trianon   (23.12.2007 в 13:49)   письмо автору
 
   для: jeans1986   (23.12.2007 в 08:23)
 

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

Он может рабортать неверно, если перед или после текста в файле что-то стоит. Т.е. если первыми байтами файла являются не символы <?php , а что-то другое. Ну и с хвостом аналогично.

UPD. Первые две строки не завершены точкой с запятой. А в остальном, см.выше.


Я, правда, не понял, в чем срочность...

   
 
 автор: jeans1986   (24.12.2007 в 09:04)   письмо автору
 
   для: Trianon   (23.12.2007 в 13:49)
 

дело в том что наш акомпания поменяла сервер и после этого не работает. а до этого работало всчё отлично. и на локалке работает всё прекрасно. в чём может быть дело ? заранее благодарю.

   
 
 автор: Trianon   (24.12.2007 в 09:28)   письмо автору
 
   для: jeans1986   (24.12.2007 в 09:04)
 

пример, который Вы привели ( с исправленными строками) работает?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования