使用PHP上传视频

时间:2011-10-10 09:53:28

标签: php image file-upload

我使用以下代码上传视频

    $img1 = $_FILES['video']['name'];

    if (!empty($img1)) {

        $fname = $_FILES['video']['name'];

        $img_name1 = "video/" . $fname;

        if(move_uploaded_file($_FILES['video']['tmp_name'], $img_name1)){
            $new_name = ShowFileName($fname);

             $output = 'video/'.$new_name.'.flv';

             $command = "$ffmpegpath  -i $img_name1  -s 486x368 -b 400kb  -ac 1 -ar 44100 -r 25 -s 320x240 -f flv $output";
             $command = $ffmpegpath.' -i'.$img_name1.' -s 486x368 -b 400kb  -ac 1 -ar 44100 -r 25 -qmin 3 -qmax 5 -y '.$output;
             exec($command);

             $thumb_dir = 'video_thumbs/';

             $thumb = $new_name.'jpg';

             exec($ffmpegpath .' -i '.$img_name1.' -an -y -f mjpeg -ss 0.05 -vframes 1 '.$thumb_dir.$img_name1);
             unlink($img_name1);
        }
     }

它正常工作。成功将视频移动到视频文件夹并将视频名称插入数据库表。但问题与此视频的拇指图像有关。拇指名称被插入到数据库中,但图像没有上传到video_thumb文件夹....... 请帮帮我....

1 个答案:

答案 0 :(得分:0)

我看到的唯一问题是ffmpeg命令行中的文件名。如果它包含特殊字符,您应该使用escapeshellarg()php function escapeshellarg