使用php调整嵌入视频的大小

时间:2010-11-09 10:59:54

标签: php video

您好我正在尝试开发视频库 但问题是我应该限制它们的尺寸。 因此,如果网站所有者想要添加视频,则应粘贴嵌入代码..

<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/R6uJGqS-KQY?fs=1&amp;hl=el_GR"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/R6uJGqS-KQY?fs=1&amp;hl=el_GR" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object>

我决定选择嵌入,因为那里有很多视频提供商.... 那么在将其存储到数据库之前调整大小的最佳方法是什么? 有没有css解决方案?
另外我注意到video.google仅使用和内联css作为宽度高度!这将覆盖任何CSS设置...
那么regexp是唯一的解决方案吗?

2 个答案:

答案 0 :(得分:1)

如果我必须执行类似的任务,我会将html转换为xml并获得高度/宽度。 之后我会调整高度或宽度(取决于你需要的)保持方面。 这样做不会调整实际视频的大小,但它会帮助您通过HTML调整大小。

<?php

$string = <<<XML
<?xml version='1.0'?> 
<object width="480" height="385">
       <param name="movie" value="http://www.youtube.com/v/R6uJGqS-KQY?fs=1&amp;hl=el_GR"> </param>                    
       <param name="allowFullScreen" value="true"></param>
       <param name="allowscriptaccess" value="always"></param>
    <embed src="http://www.youtube.com/v/R6uJGqS-KQY?fs=1&amp;hl=el_GR" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true"     width="480" height="385"></embed>                
    </object>
XML;
$xml = simplexml_load_string($string);                                        
echo "Original Width/Height:".$xml->attributes()->width."px/".$xml->attributes()->height."px<br>";

$newwidth = 280;
$newheight = ($xml->attributes()->height / $xml->attributes()->width) * $newwidth;

echo "New Width/Height:".$newwidth."px/".$newheight."px<br>";

echo <<<HTML
    <object width="{$newwidth}" height="${newheight}">
    <param name="movie" value="http://www.youtube.com/v/R6uJGqS-KQY?fs=1&    amp;hl=el_GR"> </param>
        <param name="allowFullScreen" value="true"></param>
        <param name="allowscriptaccess" value="always"></param>
    <embed src="http://www.youtube.com/v/R6uJGqS-KQY?fs=1&amp;hl=el_GR" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true"     width="${newwidth}" height="${newheight}"></embed>
    </object>
HTML;
?>

我已经对此进行了测试,您可以在以下位置看到它: 演示:http://itnews-bg.com/test.php
来源:http://itnews-bg.com/test.phps

可能还有其他更好的方法,但这就是我要做的。 希望它可以帮助你:)

答案 1 :(得分:1)

当我必须使用dailymotion视频的嵌入代码时,这会产生错误:

<object width="480" height="360">
  <param name="movie" value="http://www.dailymotion.com/swf/video/x9rswu?width=&theme=none&foreground=%23F7FFFD&highlight=%23FFC300&background=%23171D1B&start=&animatedTitle=&iframe=0&additionalInfos=0&autoPlay=0&hideInfos=0"></param>
  <param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param>
  <embed type="application/x-shockwave-flash" src="http://www.dailymotion.com/swf/video/x9rswu?width=&theme=none&foreground=%23F7FFFD&highlight=%23FFC300&background=%23171D1B&start=&animatedTitle=&iframe=0&additionalInfos=0&autoPlay=0&hideInfos=0" width="480" height="360" allowfullscreen="true" allowscriptaccess="always"> </embed>
</object>