HI
我在php中使用exec来执行命令,它会在临时文件夹中创建一个.png文件。
创建后我试图打开该文件并阅读内容并处理它们,
但我最终文件无法读取错误..
我认为exec执行和创建文件所花费的时间是问题的原因..
但我不知道如何修复它?我尝试了sleep()但它使我的脚本运行缓慢
<?php
error_reporting(E_ALL);
extension_loaded('ffmpeg') or die('Error in loading ffmpeg');
//db connection codes
$max_width = 120;
$max_height = 72;
$path ="/path/";
$qry="select id, input_file, output_file from videos where thumbnail='' or thumbnail is null;";
$res=mysql_query($qry);
$cnt = 1;
while($row = mysql_fetch_array($res,MYSQL_ASSOC))
{
$outfile = $row[output_file];
$imgname = $cnt.".png";
$srcfile = "/path/".$outfile;
echo "####$srcfile####";
exec("ffmpeg -i ".$srcfile." -r 1 -ss 00:00:05 -f image2 -s 120x72 ".$path.$imgname);
$nname = "./temp/".$imgname;
echo "nname===== $nname";
$fileo = fopen($nname,"rb");
if($fileo)
{
$imgData = addslashes(file_get_contents($nname));
..
...
....
}
else
echo "Could not open<br><br>"; // this stmt is printed while executing
$cnt = $cnt + 1:
}
?>
答案 0 :(得分:0)
您正在$path.$imgname
创建一个文件,然后您正在尝试阅读"./temp/$imgname"
,我认为这是两个完全不同的文件。