我需要將幾個mp3文件合併爲一個。有沒有比file_get_contents更廣泛或更有效的合併MP3的方法?
我目前這樣做:
$combinedFiles = "";
$dir = $_POST['dir'];
if ($handle = opendir($dir)) {
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != "..") {
$combinedFiles .= file_get_contents(urldecode($dir."/".$entry));
}
}
closedir($handle);
}
file_put_contents("mp3/".$dir.".mp3", ($combinedFiles));
如果我做的:
ini_set('memory_limit', -1);
它的工作原理。我已經嘗試將此限制設置爲4MB,並且不會拋出內存錯誤,但該文件不會被創建。沒有設置任何限制並且保留默認值,我會得到分配內存錯誤。我不想讓它在-1
,因爲我已經讀過這是不好的做法,可能會導致問題。
謝謝(錯誤不是來自代碼中的其他任何地方,我只是運行它)。
編輯:即使設置爲8GB,這是我的電腦內存,它不起作用。
謝謝,這與默認的內存,我打算標記爲已解決 – user3808307
真棒,謝謝,很高興我可以幫助! PHP的「流」功能非常酷。 – Will
並感謝您的編輯! – Will