如何使用ffmpeg-php生成的图像文件的随机名称?

时间:2017-10-13 13:27:28

标签: php image ffmpeg

使用以下代码生成图像

$thumbnail = 'images/thumbnail.jpg';

// shell command [highly simplified, please don't run it plain on your script!]

shell_exec("ffmpeg -i $video -deinterlace -an -ss 1 -t 00:00:01 -r 1 -y -vcodec mjpeg -f mjpeg $thumbnail 2>&1");

但它会创建一个名为thumbnail.jpg的文件 我需要为生成的图像添加随机名称,以将其保存在图像文件夹和数据库中。如何在下面的代码中为缩略图生成随机名称 $thumbnail = 'images/thumbnail.jpg';

4 个答案:

答案 0 :(得分:0)

尝试以下方法:

$rand = rand(1,10000);
$uniqueName = uniqid($rand);
$thumbnail = "images/{$uniqueName}.jpg";

它将为缩略图图像创建一个唯一的名称。使用uniqid()rand()

答案 1 :(得分:0)

更改行

$thumbnail = 'images/thumbnail.jpg';

$thumbnail = 'images/img'.rand(99,999999).'.jpg';

它将为图像创建一个随机名称。

答案 2 :(得分:0)

Random永远不会授予以这种方式生成的每个文件名都是唯一的并且尚未使用。

我建议使用tempnam

以下是一个例子:

    public class Main {
    public static void main(String[] args) {             
      A a = null;      
         a.x=5 ;       // fine code in compile time    
         a.y=10 ;     // fine code in compile time     
         a.show();   // fine code in compile time       

    } 
}
 class A {       
     int x ;     
     int y ;      
     public void show (){      
         System.out.println("show method");
     }     
 }

答案 3 :(得分:0)

由于您在评论中声明您需要使用您的文件名

$thumbnail = 'images/thumbnail+currentTime+randomnumber.jpg'

这是执行此操作的代码:

$thumbnail = 'images/thumbnail' . time() . rand(1,9) . '.jpg';

我建议您编辑帖子并粘贴这些要求,以便其他用户可以轻松找到它们。