【发布时间】:2023-03-16 18:17:01
【问题描述】:
我正在使用exec php 函数运行一个脚本,该脚本以mp3 格式(使用youtube-dl)抓取YouTube 视频。
在这个脚本的最后我做了一个echo,这就是我想要的结果。
但是当我启动我的 php 页面时,输出由 youtbe-dl 所做的一切组成。像这样:
[youtube] zTkS9SvhHUI: Downloading webpage
[youtube] zTkS9SvhHUI: Downloading video info webpage
[youtube] zTkS9SvhHUI: Extracting video information
[youtube] zTkS9SvhHUI: Downloading js player en_US-vflgFv_Kx
[youtube] zTkS9SvhHUI: Downloading js player en_US-vflgFv_Kx
[download] Destination: /var/www/xxx/mp3dl/Kaskade - Whatever Ft KOLAJ (NEUS Remix).webm
[download] 0.0% of 3.84MiB at 10.17KiB/s ETA 06:26
[download] 0.1% of 3.84MiB at 30.44KiB/s ETA 02:09
[. . .]
[download] 100.0% of 3.84MiB at 4.01MiB/s ETA 00:00
[download] 100% of 3.84MiB in 00:00
[ffmpeg] Destination: /var/www/xxx/mp3dl/Kaskade - Whatever Ft KOLAJ (NEUS Remix).mp3
Deleting original file /var/www/xxx/mp3dl/Kaskade - Whatever Ft KOLAJ (NEUS Remix).webm (pass -k to keep)
/var/www/xxx/mp3dl/Kaskade - Whatever Ft KOLAJ (NEUS Remix).mp3
我唯一需要的是:
/var/www/xxx/mp3dl/Kaskade - Whatever Ft KOLAJ (NEUS Remix).mp3
我该怎么做?有什么不明白的地方吗?
编辑:这是我的 php 代码:
$url = htmlspecialchars($_POST['url']);
$choice1 = $_POST['choice1'];
$output = exec('sh scripts/ytdlmp3_direct.sh "'.$url.'"');
if(isset($_POST['action'])){
if(empty($url)) {
print("<div class='card-panel yellow'>Please add a URL</div>") ;
} else {
if($choice1 == "download") {
print $output;
} elseif($choice1 == "store") {
print "Soon";
}
}
}
谢谢! ~昆汀
【问题讨论】: