Как правильно скачать файл .vcf - PullRequest
5 голосов
/ 16 декабря 2010

Я хотел бы знать, как я могу осуществить загрузку 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 пользователю для загрузки?

Ответы [ 2 ]

3 голосов
/ 16 декабря 2010

У вас есть header('Connection: close');, который, я думаю, закрывает соединение до того, как содержимое файла будет прочитано. Я удалил строку.

Я не уверен насчет чувствительности к регистру в типе контента, поэтому я изменил его на x-vcard и изменил расположение контента на inline (известное исправление проблем с загрузкой в ​​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 в каталоге) и что файл существует ...

0 голосов
/ 16 декабря 2010

положить exit()

readfile($path.$file);
exit();
...