5

どうすれば Vcard ダウンロードを実現できるか知りたいです。それが私の現在のコードです:

$path = "../../media/resources/";  
$file = "someName.vcf";  

header('Content-Type: text/x-vCard');  
header('Content-Disposition: attachment; filename= "'.$file.'"');  
header('Content-Length: '.filesize($path.$file));  
header('Connection: close');  

readfile($path.$file);

残念ながら、それは .vcf ファイルからのコンテンツしか提供しません。この vcard をダウンロードしてユーザーに提供するにはどうすればよいですか?

4

2 に答える 2

3

header('Connection: close');ファイルの内容が読み取られる前に接続を閉じると思います。行を削除しました。

content-type の大文字と小文字の区別についてよくわからないので、x-vcard に変更し、content-disposition をインラインに変更しました (IE でのダウンロードの問題に対する既知の修正)。これを試して:

$path = "../../media/resources/";  
$file = "Toni_Junas.vcf";  

header('Content-Type: text/x-vcard');  
header('Content-Disposition: inline; filename= "'.$file.'"');  
header('Content-Length: '.filesize($path.$file));  

readfile($path.$file);

また、ディレクトリ「resources」が読み取り可能であること (ディレクトリの chmod 755) と、ファイルが存在することを確認してください...

于 2010-12-16T15:02:35.337 に答える
0

置くexit()

readfile($path.$file);
exit();
于 2010-12-16T14:54:17.480 に答える