2010-02-21 5 views
1

В частности, мне нужно автоматизировать кодирование аудиофайлов в mp3 с помощью LAME. Вам не нужно знать LAME, чтобы ответить на этот вопрос, я мог бы говорить о svn или какой-либо другой программе.Как запустить программу командной строки (например, lame или svn) с помощью PHP?

Я знаю, как использовать 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? Я запускаю окна

Должен ли я использовать lame_enc.dll вместо lame.exe как-то?

ответ

0

Это можно сделать с помощью PHP. Не типичный сценарий использования, но это можно сделать. Поскольку вы находитесь в Windows, файл bat лучше подходит, так как вам не нужен парсер PHP для запуска скрипта.

Поместите те же команды, которые вы запустили в консоли, чтобы конвертировать ваши аудио файлы с LAME в * .bat. Затем запустите летучую мышь, как если бы это был обычный исполняемый файл.

+0

Хорошо. Я думаю, что тогда буду использовать .bat-файл. В соответствии с этим: http://windowsitpro.com/article/articleid/13443/how-do-i-pass-parameters-to-a-batch-file.html Похоже, я могу передать в Счетчики файл bat, который является идеальным – Jonah

2

Вы можете использовать exec() и указать аргументы так же, как и в командной строке. Другие варианты описаны на странице справочника Program Execution для PHP.