PDA

View Full Version : ایجاد دانلود اتوماتیک



soroush.elec
دوشنبه 20 آذر 1391, 17:23 عصر
من کد زیر را تو یک صفحه نوشتم تا prompt downlaod ایجاد نمایم.



$name = '/var/www/html/testBackupFolder/1982-21-2.wav';
//$fp = fopen($name, 'rb');
// send the right headers
header("Content-Type: zip/tar");
header("Content-Length: " . filesize($name));
header('Content-Disposition: attachment; filename=hasan');
// dump the picture and stop the script
$file = @ fopen($name, 'rb');
fpassthru($file);
fclose ($file);


اما موقع اجرا بجای اون فایلی که به متغیر Name نسبت دادم خود فایل php صفحه دانلود می شه .
بی زحمت راهنمایی کنید که مشکلش چیه؟

Unique
دوشنبه 20 آذر 1391, 20:18 عصر
دوست عزیز شما یکم قاطی پاتی همه چی را استفاده کردین :


$name = '/var/www/html/testBackupFolder/1982-21-2.wav';

header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="1982-21-2.wav"');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($name));
readfile($file_path);

چند تا موضوع :
Content-Type را یا درست ست کنید یا اصلا بنویسید application/octet-stream اگه هم حتما prompt میخواین وم صلا نمیخواین اگه pdf بود توی adobe reader باز بشه حتما application/octet-stream
Filename را درست بزنید با پسوند و همهخ ملحقات تا اونجا هم که میشه فارسی نزندی چون IE و Firefox هر کردون به یک شکل utf-8 را برای نام فایل بول میکنند و باید مرورگر را تشخیص بدید اول

soroush.elec
سه شنبه 21 آذر 1391, 08:43 صبح
با تشکر از راهنمایی ها Unique عزیز مسئله حل شد.