网站建设经验

website experience

网站建设中本地能播放flv,放服务器上确不能播放,为何?

日期:2013-08-08  浏览次数:372

分享到:

很多主机都是不支持FLV数据流的,但有一个方法,来欺骗一下主机还有flv的播放器就可以了!

具体做法:
1,假如你的FLV文件在 movie目录下,名为abc.flv  (即movie/abc.flv)
2,把你的flv文件改名为:index.html ,记住很关键哦! 就改成这个名!其实就是把FLV搞成一个默认的网页来欺骗服务器
3,在原来摆放FLV文件的目录下建立一个文件夹,文件夹名为: abc.flv 
4,把刚才改名成index.html的FLV文件放到这个文件夹里面去。

调用FLV文件的代码里面仍然写 movie/abc.flv  就可以了!


解释一下,其实不管搞成什么格式的,flash播放器只要接收到数据流就能播放FLV文件了,但是虚拟主机不支持FLV文件,当接收到对于FLV格式的文件的请求时,不给你传送数据,那就不能播放了。 现在我们就欺骗一下服务器,我们知道服务器默认网站页面一般都是index.html 。例如我们向服务器发送请求 http://www.kucom.net/时候,服务器会默认把index.html这个文件数据传送出来。知道这个就好办了,我们把FLV文件改名成html文件,服务器就会以为他是一个网页,然后就把数据发送出来,但是SWF播放器代码参数只能调.flv的文件,不能在参数里面直接掉我们改成html的那个文件,怎么办呢。 我们建立一个文件夹叫做 abc.flv把改过名的FLV文件放在里面,然后代码里面直接调用这个abc.flv,这样就又欺骗了SWF播放器,它以为你就是调用的FLV文件,就不出错了。当这个请求发给服务器的时候,服务器因为只接收到对abc.flv这个文件夹的请求,就把默认的 index.html数据发送出来了。 其实它发送的就是我们的FLV文件数据啦~~~

哈哈,SWF文件接收到服务器发来的数据 理所当然就能播放囖~~

究其原因就是我们把 flv文件改名成html文件并不影响这个文件实际所承载的数据!

哈哈 完美的双重欺骗

要是明白了,其实就应知道只要把FLV文件改名成任何一个你主机的默认索引页(例如index.html , index.htm ,index.asp ,index.php...等等),然后把它放在一个名为***.flv的文件夹里面,更后在代码中 直接调用这个文件夹就可以了。