我使用exec
php函数来运行一个脚本,该脚本以mp3格式抓取YouTube视频(使用youtube-dl
)。
在这个脚本的末尾,我做了一个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";
}
}
}
谢谢!~昆汀
通过exec()
将-q或——quiet添加到命令中,它将不会输出任何"调试"消息。
从文档
-q,——quiet