php生成mp4文件,thinkphp6读取文件内容,保存为MP4格式

~~~

$files = request()->file();

if(empty($files['file'])){

return json(array("code"=>400,"msg"=>"上传失败,文件为空"));

}

try {

$savename = \think\facade\Filesystem::disk('public')->putFile('/other/', $files['file']);

$result = [

'code' => 200,

'msg' => "上传成功",

'url' => '/storage/' . $savename,

];

} catch (\Exception $e) {

$result = [

'code' => 400,

'msg' => $e->getMessage()

];

}

if ($result['code'] == 200){

$url:上传txt文件返回的路径

$url = root_path() .'/public'.$result['url'];

if (file_exists($url)){

打开文件

$handle = fopen($url,"rb");

获取文件内容

$content = fread($handle,filesize($url));

利用base64转视频编码

$str = base64_decode(str_replace("data:application/octet-stream;base64,","",$content));

$videoUrl:拼接生成文件路径

$videoUrl = 'storage/other/'.date('Ymd').'/'.date('YmdHis').randStr(10,'ALL').'.mp4';

生成MP4文件

file_put_contents($videoUrl,$str);

删除txt文件

unlink($url);

return json(['data'=>$videoUrl]);

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值