ffmpeg和php上传
我从未使用过ffmpeg,我想知道这个脚本看起来是否正确,是否可以工作 我想将上传的视频转换为.flv,然后将文件名添加到隐藏的输入中ffmpeg和php上传,php,ffmpeg,Php,Ffmpeg,我从未使用过ffmpeg,我想知道这个脚本看起来是否正确,是否可以工作 我想将上传的视频转换为.flv,然后将文件名添加到隐藏的输入中 <input type='hidden' id='ajax_image_url' value='".$txt.".flv'> 但也希望删除后的原始文件 如有任何帮助/意见,将不胜感激 if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST") { $name = $_FILES[
<input type='hidden' id='ajax_image_url' value='".$txt.".flv'>
但也希望删除后的原始文件
如有任何帮助/意见,将不胜感激
if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
{
$name = $_FILES['thisimage']['name'];
$size = $_FILES['thisimage']['size'];
if(strlen($name))
{
list($txt, $ext) = explode(".", $name);
if(in_array($ext, $valid_formats_img))
{
if($size<($image_size_limit*$image_size_limit))
{
$actual_image_name = time().substr(str_replace(" ", "_", $txt), 5).".".$ext;
$tmp = $_FILES['thisimage']['tmp_name'];
if(move_uploaded_file($tmp, $path.$actual_image_name))
{
echo "<img src='media/".$actual_image_name."' class='showthumb' /><input type='hidden' id='video' value='0' /><input type='hidden' id='ajax_image_url' value='".$actual_image_name."' />";
}
else
echo '<b style="color:#fff;">'.$txt_img_err1.'</b>';
}
else
echo '<b style="color:#fff;">'.$txt_img_up_size.'</b>';
}
else if(in_array($ext, $valid_formats_vid))
{
if($size<($videos_size_limit*$videos_size_limit))
{
$actual_image_name = time().substr(str_replace(" ", "_", $txt), 5).".".$ext;
$tmp = $_FILES['thisimage']['tmp_name'];
if(move_uploaded_file($tmp, $path.$actual_image_name))
{
exec('ffmpeg -i '$path.$actual_image_name.' '$path.$txt.'.flv');
?>
<!-- START OF THE PLAYER EMBEDDING TO COPY-PASTE -->
<object id="player" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" name="player" width="328" height="200">
<param name="movie" value="player.swf" />
<param name="allowfullscreen" value="true" />
<param name="allowscriptaccess" value="always" />
<param name="flashvars" value="file=media/<?php echo $txt?>.flv" />
<embed
type="application/x-shockwave-flash"
id="player2"
name="player2"
src="player.swf"
width="328"
height="200"
allowscriptaccess="always"
allowfullscreen="true"
flashvars="file=media/<?php echo $txt?>.flv"
/>
</object>
<script type="text/javascript" src="jwplayer.js"></script>
<!-- END OF THE PLAYER EMBEDDING -->
<?php
echo "<input type='hidden' id='ajax_image_url' value='".$txt.".flv' /><input type='hidden' id='video' value='1' />";
}
else
echo '<b style="color:#fff;">'.$txt_img_err1.'</b>';
}
else
echo '<b style="color:#fff;">'.$txt_img_up_size.'</b>';
}
else
echo '<b style="color:#fff;">'.$txt_img_err2.'</b>';
}
else
echo '<b style="color:#fff;">'.$txt_img_err3.'</b>';
exit;
}
if(isset($\u POST)和$\u服务器['REQUEST\u METHOD']==“POST”)
{
$name=$\u文件['thisimage']['name'];
$size=$\u文件['thisimage']['size'];
if(strlen($name))
{
列表($txt,$ext)=分解(“.”,$name);
if(在数组中($ext,$valid\u格式\u img))
{
如果($尺寸)
为什么不运行它,看看它是否“有效”?(然后回来讨论问题或改进)我已经尝试过了。它可以很好地上传原始视频,但不能转换为.flv,因此ffmpeg行没有做任何操作手动使用ffmpeg命令(在脚本之外)若要查看ffmpeg是否是问题所在。或者将数组作为第二个参数传递给exec()
,它将被ffmpeg
的输出填充,包括可能的错误。请参阅尝试过的手动ffmpeg,工作正常。然后,我在exec的末尾添加了$output和var_dump($output)--我得到:array(0){}