2010-02-21 36 views
1

具體來說,我需要使用LAME將音頻文件的編碼自動化爲MP3。你不需要知道LAME來回答這個問題,我可以在談論svn或其他程序。如何用PHP運行命令行程序(如lame或svn)?

我知道如何在命令行上使用LAME來做到這一點,一次只能處理一個文件。

我想然而,通過PHP腳本做到這一點,這樣我就可以立刻轉換了一堆(例如,目錄中的所有文件)

所以我感到困惑,是我應該怎麼調用該程序,LAME。我絕對可以用 shell_exec() http://php.net/manual/en/function.shell-exec.php

但是,這是一個「擰」的方式來做到這一點,因爲我正在經歷殼?

我應該用lame_enc.dll代替lame.exe嗎?

好像我可以以某種方式與EXEC()實現也http://php.net/manual/en/function.exec.php

但在這種情況下,我將如何提供的參數?

或者有更好的方法來做到這一點,也許是一個.bat文件?我正在運行windows

我應該用lame_enc.dll代替lame.exe嗎?

回答

0

它可以用PHP來完成。不是典型的用例場景,但可以完成。既然你在Windows上,一個bat文件會更適合,因爲你不需要PHP解析器來運行腳本。

將您在控制檯中運行的相同命令轉換爲帶有* .bat中的LAME的音頻文件。然後運行蝙蝠,就像它是一個常規的可執行文件一樣。

+0

好的。我想我會使用.bat文件。 據此: http://windowsitpro.com/article/articleid/13443/how-do-i-pass-parameters-to-a-batch-file.html 它看起來像我可以通過paramaters一個bat文件,這是完美的 – Jonah 2010-02-21 04:33:31

2

您可以使用exec()並指定參數,就像在命令行中一樣。 PHP的Program Execution手冊頁列出了其他選項。