Как вызвать SWF-файл с помощью PHP? - PullRequest
1 голос
/ 24 октября 2010

Я использую Zend Framework. Из моего phtml-файла я пытаюсь вызвать ссылку на swf-файл, который находится за пределами моего веб-каталога. Код для этой ссылки:

<?php echo getcwd(); ?>  
<object width="550" height="400">  
<param name="movie" value="somefilename.swf">  
<embed src="/message/get-file/messageId/<?php echo $this->message->id; ?>" width="550" height="400">  
</embed>  
</object>

Код readfile($fileName); открывает окно сохранения файла, которое успешно сохраняет файл и имеет размер более 1 КБ. Я чувствую, что упускаю что-то простое?

Просто чтобы подтвердить, я могу с изображениями, но не вспышкой? Это правильно?

`header("Content-Type: image/jpg");  
header("Content-Disposition: attachment; filename=$fileName");  
readfile($fileName);`  

Я тогда использовал:
<img src='/message/get-file/messageId/<?php echo $this->message->id; ?>'

Это сработало нормально

Я прыгал, чтобы сделать что-то вроде
header("Content-Type: application/x-shockwave-flash",true);<br> header("Content-Disposition: attachment; filename=$fileName"); readfile($fileName);

А потом
<embed src="/message/get-file/messageId/<?php echo $this->message->id; ?>"

Ответы [ 2 ]

1 голос
/ 26 октября 2010

Большое спасибо Мигар за ответы.
Вы были правы, что я не привел полный пример, и я сожалею об этом.
Я нашел ответ, и я отправил неправильный заголовок.
То, что я отправлял, было:

header("Content-Disposition: attachment; filename=$message->file_name");

Это должно было быть:

header("Content-Disposition: inline; filename=$message->file_name");

Полный текст:

header("Content-Type: application/x-shockwave-flash",true);<br> header("Content-Length: {strlen($fileName)}",true);<br> header("Accept-Ranges: bytes",true);<br> header("Connection: keep-alive",true);<br> header("Content-Disposition: inline; filename=$message->file_name");<br> readfile($fileName);

1 голос
/ 24 октября 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...