如何使用PHP调用swf文件?

时间:2010-10-24 15:17:17

标签: php flash

我正在使用zend框架。从我的phtml文件中,我试图调用一个链接到我的web目录之外的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);代码打开一个成功保存文件的保存文件框,大于1KB。 我觉得我错过了一些基本的东西?

只是为了确认,我可以用图像而不是闪光灯吗?这是正确的吗?

`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);
header("Content-Disposition: attachment; filename=$fileName"); readfile($fileName);

然后是     <embed src="/message/get-file/messageId/<?php echo $this->message->id; ?>"

2 个答案:

答案 0 :(得分:1)

无论PHP脚本是否可以访问文件服务器端,您都无法链接到可公开访问的文档根目录之外的文件。

答案 1 :(得分:1)

非常感谢Meagar的回答 你是对的,我没有给出一个完整的例子,我对此感到抱歉 我找到了答案,那就是我发错了标题 我发送的是:

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

应该是:

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

完整的是:

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