去官网下载最新的压缩包
https://www.getid3.org/
下载后,我是放入vender的,然后再composer.json加入
"autoload": {
"classmap": [
"vendor/getID3/getid3/getid3.php",
"vendor/getID3/getid3/getid3.lib.php"
]
}
保存后在项目根目录运行 composer dump-autoload ,运行后查看 vender/composer/autoload_classmap.php,有加入getid3的路径后就成功了
return array(
'Attribute' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Attribute.php',
'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
'JsonException' => $vendorDir . '/symfony/polyfill-php73/Resources/stubs/JsonException.php',
'Normalizer' => $vendorDir . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php',
'PhpToken' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/PhpToken.php',
'Stringable' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Stringable.php',
'UnhandledMatchError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php',
'ValueError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/ValueError.php',
'getID3' => $vendorDir . '/getID3/getid3/getid3.php',
'getid3_exception' => $vendorDir . '/getID3/getid3/getid3.php',
'getid3_handler' => $vendorDir . '/getID3/getid3/getid3.php',
'getid3_lib' => $vendorDir . '/getID3/getid3/getid3.lib.php',
);
使用
<?php
namespace app\common\server;
use getID3 as getid3v;
/**
* 视频时长
*/
class Getid3
{
/**
* @return array|false
*/
public function Get_video_duration($path){
$getid3 = new getid3v();
// $path = ROOT_PATH.'public/video/s4f6s87s35168dfgfg5f64g.mp4';
$mediaInfo = $getid3->analyze($path);
if ($mediaInfo){
// 时长 分/秒
$video_time['minute_second'] = $mediaInfo['playtime_string'];
// 时长 秒
$video_time['second'] = $mediaInfo['playtime_seconds'];
return $video_time;
}else{
return false;
}
}
/**
* PHP提取字符串中视频url地址
*
*/
public function get_content_video($str){
// 用于执行一个全局正则表达式匹配
preg_match_all("/<video[^<>]*src=[\"]([^\"]+)[\"][^<>]*>/im",$str,$matches);
return $matches[1];
}
}