2012-01-13 80 views
0

有一個叫getID3(用PHP編寫)程序,它從你的音樂,並把它打印出來的文本形式複製所有的ID3標籤:http://getid3.sourceforge.net/如何將stdout作爲php腳本中的參數傳遞給linux終端?

有需要你的歌的路徑中的一個功能,我還想寫一些代碼使整個過程自動化,以便我可以提供父目錄的路徑,並且所有子目錄中的所有歌曲都可以爲我打印出它們的id3信息。

我想用這個bash命令來獲得歌曲的所有路徑:

find /myMusic -type f 

和負載從bash命令每個路徑作爲一個PHP數組中的元素(比方說$song_information)的數組,其中是

find /myMusic -type f |wc -l 

元素長。

我被卡住了,因爲我不知道如何從BASH終端輸出到php中的數組。我的第一個想法是將bash命令的輸出傳遞給.xml文件,然後使用php.xml解析器將每個路徑加載到數組中。

這種思維方式是一種好方法還是有更好的方法?

我可用的工具是linux和php。我使用的是Ubuntu 10.04。

回答

2
<?php 

$list = array(); 

exec ('find /myMusic -type f', $list); 

?> 
1

你的PHP可以是這樣的:

#!/usr/bin/php 
<? 
$stdin = fopen('php://stdin', 'r'); 
while (($buffer = fgets($stdin, 4096)) !== false) { 
     $lines[] = $buffer; 
} 
fclose($stdin); 

print_r($lines); 

?> 

,你管通過

find /myMusic -type f | ./yourscript.php 
的結果,它