2011-04-30 111 views
5

正如我们所知,函数getimagesize()对于图像和swf文件非常有用。PHP:如何获得shockwave .dcr文件的宽度和高度?

但它不支持shockwave文件(.dcr)。

所以,我怎么能得到宽度和此类文件的高度..

+1

这是一个非常有趣的问题;我一直对我自己的Shockwave文件格式感到好奇,但我找不到任何关于它的文档。 – icktoofay 2011-04-30 07:16:50

+0

需要维度的原因是什么?有没有可能通过其他方式实现你需要做的另一种方式?例如,如果回显到HTML页面,则可以在指定标准高度和宽度时使用swStretchStyle属性。更多信息在这里:http://x10hosting.com/forums/graphics-webdesign/53941-embedding-director-dcr-files.html – 2011-05-10 07:17:35

+0

@John:我不知道OP需要它,但我只是感兴趣如何获得宽度和高度纯粹是因为它可以提供一些洞察文件格式,我真的很想找到一些信息。 – icktoofay 2011-05-10 23:44:14

回答

2

我不是林戈/主任的专家,但据我所知,你将无法从PHP这样做。

.DCR文件格式未打开,因此您不会找到文件格式规范,以供您自己制作解析器并提取该信息。

但是,应该有办法在客户端使用导演电影来做到这一点。

例如,你可以在你自己的导演电影里加载外部的dcr文件(然后你就可以读取加载文件的宽度/高度等)。然后,您自己的导演电影将更新一些数据库,其中包含有关该特定加载文件的信息,以便稍后显示宽度/高度。

我发现这条每页可追溯至2006年,其中这家伙表明同样的事情: http://director-online.com/forums/read.php?1,20621,20621,quote=1

祝你好运队友! :)

+1

我只会因为它是唯一一个可以工作的人而奖励你,但我真的会希望得到一个能够反向设计文件格式的答案,并找到在哪里可以找到尺寸。 – icktoofay 2011-05-14 21:13:02

+0

谢谢你icktoofay,如果我遇到文件规格它是你的。 – seven 2011-05-18 14:36:34

-1

如果你有一个Windows Server,你可以安装IrfanView的(免费),并在命令行中使用它(是的,它是免费的并有一个命令行)将swf转换为dcr。 (当然,Linux也有类似的工具)。

Convert images on the command line with IfranView

要调用OS的命令行从PHP,使用shell_exec()

然后,你可以阅读与PHP正常的SWF图像大小。

希望这有助于

+1

我尝试下载IrfanView及其所有插件,并且无法打开我拥有的.dcr文件。 – icktoofay 2011-05-03 01:51:56

+0

从Edgar的描述听起来像InfranView读取swf文件并将它们转换为dcr原始图像格式,而不是dcr shockwave格式。 – 2011-05-11 17:42:12