php执行外部程序 php如何执行sh脚本 php如何对接python

本文介绍了在PHP中如何执行Python脚本以实现音频转视频的功能。通过前端上传音频文件,PHP使用`system`或`exec`函数调用Python脚本,将音频路径作为参数传递,转换完成后返回HTTP形式的MP4文件链接供前端展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题背景:有一天接到一个需求,领导那边已经给了一个python包是将音频转换成视频的包,我犯难了,因为只给了包而不是让我对接接口。。。懵了,懵的是不知道该怎么在php端调用这个python包(或者说是一个脚本)主要的需求就是前端来一个音频上传完事调用这个脚本然后把返回的http形式的mp4文件展示出来,,,,ok不废话了上代码

注意:老规矩我所有代码因为签订保密协议所以只能给大家展示手写的基本逻辑就这样仅供参考

前端代码我就不管了 就和文件上传似的,感兴趣的下期我有空的话可以记录一下

$data = $_FILES['file'];
$new_path = "/home/xxx.$data['name']";//文件&音频等要保存的新路径 注意:是绝对路径

$is_update = move_uploaded_file($data['tmp_name'],$new_path);//将零时保存地址的音频或者文件移动到新地址

以上我们简单的完成了文件上传(我这里做的是音频上传性质都是一样的),那接下来就是要调用脚本了,那这个脚本的参数就是音频存储的绝对路径所以才有了我上面这段代码

$video_url = exec(这里写命令行就ok,$res); 
//$res 则返回状态值 0为成功 1为失败  $video_url因为我用的函数是exec则返回命令行的最后一行结果

我目前知道的php可供执行外部命令的函数还是蛮多的,我这次开发的过程中使用到了俩个 分别是①system ② exec

① system — 执行外部程序,并且显示输出 (网上记录说是也是返回最后一行,可是我测试这个函数可以输出所有的执行结果)

    system ( string $command [, int &$return_var ] ) : string

②exec — 执行一个外部程序(返回值:命令执行结果的最后一行内容)

    exec ( string $command [, array &$output [, int &$return_var ]] ) : string

还有很多方法大家可以自行尝试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值