PDA

View Full Version : مبتدی: ارسال چندین فایل به کاربر برای دانلود از طریق هدر ها



عقاب سیاه
یک شنبه 24 دی 1391, 20:03 عصر
درود
از طریق روش زیر موفق شدم یک فایل را برای دانلود به کاربر ارسال کنم اما من قصد دارم چندین فایل به صورت همزمان برای دانلود ارسال شود. چگونه چنین کاری ممکن است؟

http://stackoverflow.com/questions/2882472/php-send-file-to-user

سپاس

Unique
یک شنبه 24 دی 1391, 22:18 عصر
فایلها را zip کنید و برای کاربر بفرستین ! تا حالا ندیدم یا یک header بشه دو تا download wizard باز کرد.

mtchabok
دوشنبه 25 دی 1391, 00:57 صبح
سلام
بله امکان ارسال دو یا چند فایل از سمت سرور برای کاربر با یه درخواست ، وجود داره ولی متاسفانه خیلی وقت پیش مطلبی رو در این زمینه خونده بودم و الان نتونستم پیداش کنم
اما این امکان وجود داره و فقط دانلودکننده های قوی میتونن مدیریت کنن .
این کار توسط هدر قابل انجام هست .
فکر کنم الگوریتمش به این گونه بود که هدر فایل اول ارسال بشه و محتوای فایل بعدش دوباره هدر فایل دوم ومحتواش و الی آخر . البته دقیقا یادم نیست .

Mr.Moghadam
دوشنبه 25 دی 1391, 10:54 صبح
ارسال چند فایل برای دانلود با استفاده از هدر ها امکان پذیر نیست باید ابتدا فایلها رو Zip کنید سپس فایل زیپ شده رو دانلود کنید :



function zipFilesAndDownload($file_names,$archive_file_name ,$file_path) { //create the object $zip = new ZipArchive(); //create the file and throw the error if unsuccessful if ($zip->open($archive_file_name, ZIPARCHIVE::CREATE )!==TRUE) { exit("cannot open <$archive_file_name>\n"); } //add each files of $file_name array to archive foreach($file_names as $files) { $zip->addFile($file_path.$files,$files); } $zip->close(); header("Content-type: application/zip"); header("Content-Disposition: attachment; filename=$archive_file_name"); header("Pragma: no-cache"); header("Expires: 0"); readfile("$archive_file_name"); exit; }


منبع : http://phpro.ir/?p=1251

mtchabok
دوشنبه 25 دی 1391, 12:30 عصر
شرمنده من دیشب گفتم چند تا فایل میشه دانلود کرد . الان یادم اومد که چند پارت از یه فایل رو میشه دانلود کرد که توسط استاندارد http این امکان وجود داره .

Unique
دوشنبه 25 دی 1391, 17:18 عصر
الان یادم اومد که چند پارت از یه فایل رو میشه دانلود کرد

شرمنده اما من اصلا متوجه نمیشم منظور شما چیه !؟
تا حالا جایی ندیدم بشه با header بیش از یک فایل ارسال کرد ! میشه همه را به هم چسبوند و ارسال کرد اما نمیشه با چهار تا اسم روی سیستم شخص ذخیره بشه ، برای این کار بهترین راه zip کردنه که اشاره کردیم اما اگه توضیح بدین منظور شما از پارت چیه خوشحال میشیم ! نکنه منظورتون resume هست (بعید یدونم !!!!) ؟

mtchabok
دوشنبه 25 دی 1391, 18:10 عصر
شرمنده اما من اصلا متوجه نمیشم منظور شما چیه !؟
تا حالا جایی ندیدم بشه با header بیش از یک فایل ارسال کرد ! میشه همه را به هم چسبوند و ارسال کرد اما نمیشه با چهار تا اسم روی سیستم شخص ذخیره بشه ، برای این کار بهترین راه zip کردنه که اشاره کردیم اما اگه توضیح بدین منظور شما از پارت چیه خوشحال میشیم ! نکنه منظورتون resume هست (بعید یدونم !!!!) ؟
بله دقیقا منظورم resume هست البته یه خورده فراتر از اون
یه مثال میزنم
کاربر می تونه چندین پارت ( تیکه ) از فایل رو به سرور درخواست بده که دانلود بکنه و سرور هم میتونه در جواب درخواست به یکباره همه پارتهای درخواستی کاربر رو براش بفرسته . در همون Range ای که در http وجود داره .