2016-11-13 2 views
1

私はexec PHP関数を使用して、YouTubeビデオをmp3形式(youtube-dl)で取得するスクリプトを実行しています。PHP Exec - 最後のコマンドの結果のみを表示する方法

このスクリプトの最後に私は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 

私はそれをどのように行うことができますか?私が理解できなかったことはありますか?

EDIT:私の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"; 
     } 
    } 
} 

ありがとう! 〜クエンティン

答えて

1

「デバッグ」のメッセージのいずれかをexec()を経由して、あなたのコマンドに-q OR --quietを追加し、それを出力しません。 Quietモードを有効に--quiet documentation

-qから

関連する問題