headerのContent-Typeの出力制御
お世話になります。
PHPの問題なのか、Apacheの問題なのか分かりかねましたので、とりあえずPHPのカテゴリーに質問させて頂きます。
■問題点
mmfファイルにアクセスしているように見せかけてPHPを実行するプログラムにおいて、Headerの出力として"Content-Type:application/x-smaf" だけ出力したいのだが、"Content-Type: text/html; charset=Shift_JIS" も同時に出力されてしまう。
■出力されるHeader(一部修正しています)
HTTP/1.1 200 OK
Date: Wed, 25 May 2005 01:46:37 GMT
Server: Apache/1.3.27 (Unix)
X-Powered-By: PHP/4.3.6
Accept-Ranges: bytes
Content-Type:application/x-smaf
Content-length:11212
Connection: close
Content-Type: text/html; charset=Shift_JIS
(↑この一行が邪魔)
■PHPプログラム
拡張子mmf(smafファイル)でphpを実行し、smafファイルを出力する。
<?php
$melody_file = "hoge.mmf";
$melody_filesize = @filesize( $melody_file );
$fd = fopen ($melody_file, "rb");
$contents = fread ($fd, $melody_filesize );
fclose ($fd);
header("Content-Type:application/x-smaf\nContent-length:${melody_filesize}\n\n");
echo $contents;
?>
■Apache設定
AddType application/x-httpd-php .php .php4 .php3 .phtml .mmf
■動作環境
ReadHat7.2
Apache 1.3.27
PHP 4.3.6
上記の件につきまして、対応方法をご存知の方がいらっしゃいましたら宜しくお願いいたします。