代码工作正常,但如果文件名只有一个qoute就像"布兰妮的视频.mp4"它不起作用。
http.authorizeRequests()
.antMatchers("/login").permitAll()
.antMatchers("/admin/**").access("hasRole('ADMIN')")
.and().formLogin().loginPage("/login")
答案 0 :(得分:1)
我让它工作但没有使用过于复杂的东西。 谢谢所有
$comd = "/usr/local/bin/ffmpeg -i \"$video_file\" -y -f mjpeg -ss 00:00:30 -vframes 1 \"$thumbnail\" 2>&1"; shell_exec($comd);
shell_exec($comd);
答案 1 :(得分:-1)
正如评论中所建议的那样,您可以将所有shell命令字符串包装在escapeshellarg()
中,如下所示。
<?php
foreach(glob($videos) as $video_file){
$lfilename = basename($video_file);
$filename = basename($video_file, ".mp4");
$thumbnail = $ouput_path.$filename.'.jpg';
if (!file_exists($filename)) {
$cmd = "/usr/local/bin/ffmpeg -i ";
$cmd .= $video_file . " -an -y -f mjpeg -ss 00:00:30 ";
$cmd .= "-vframes 1 " . $thumbnail;
exec( escapeshellarg($cmd) );
}