0

mp3 のダウンロードが行われる Web サイトを持っています。php(curl) を介してダウンロードすると、曲はダウンロードされますが、アルバム アート、アーティスト名などの曲のメタ データは失われます。

サーバー上ではファイルにすべてのデータが含まれていますが、ダウンロードするとすべてが失われます。私のコードは次のとおりです。

if (!empty($path) && $path != null)
            {
                $ch = curl_init($path);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                curl_setopt($ch, CURLOPT_HEADER, true);
                $data = curl_exec($ch);
                curl_close($ch);
                if ($data === false)
                {
                    echo 'CURL Failed';
                    exit;
                }

                if (preg_match('/Content-Length: (\d+)/', $data, $matches))
                {
                    $contentLength = (int) $matches[1];
                }

                header("Pragma: public");
                header("Expires: 0");
                header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
                header("Cache-Control: private", false); // required for certain browsers
                header('Content-Type: audio/mpeg');
                header("Content-Disposition: attachment; filename=\"" . urlencode($song->title) . ".mp3\";");
                header('Content-Transfer-Encoding: binary');
                header('Content-Length: ' . $contentLength);
                ob_clean();
                flush();
                echo $data;
                exit;
            }
4

1 に答える 1