我正在使用代码(PHP)压缩远程 mp3 文件:
$file = "https://example.com/some_file.mp3";
$zip->addFromString("audio.mp3", file_get_contents($file));
问题是,我想在压缩过程之前添加 ID3 标签,例如作者、标题、图像等。一种方法是首先将 mp3 文件保存在文件夹中 => 添加 ID3 => ZIP。但我想避免这种情况。还有其他方法可以实现这一目标吗?
您可以使用
id3_set_tag()
并传递 FileStream
。
$file = "https://example.com/some_file.mp3";
$fileStream = fopen($file, "r"); // Creating Stream
$data = array(
"title" => "Re:Start",
"artist" => "Re:\Legion",
"comment" => "A nice track"
);
$result = id3_set_tag( $fileStream, $data, ID3_V1_0 );
if ($result === true) {
$zip->addFromString("audio.mp3", stream_get_contents($fileStream));
} else {
echo "Unable to update tags";
}