نمایش نتایج 1 تا 15 از 15

نام تاپیک: آمدن پیغام ذخیره کردن دانلود فایل

  1. #1
    کاربر دائمی
    تاریخ عضویت
    تیر 1384
    محل زندگی
    ایران
    پست
    191

    Lightbulb آمدن پیغام ذخیره کردن دانلود فایل

    سلام
    چطوری می شه وقتی فایل را دانلود می کنیم پیغام ذخیره کردن فایل بر روی کامپیوتر بیاید؟ مثلا من می خوام یه فایل pdf دانلود کنم وقتی روی لینک آن کلیک می کنم در مرورگر باز می شه، چه طوری به آن بگویم که پنجره دانلود بیاید؟؟
    با تشکر

  2. #2
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    قم - ایران
    پست
    37

    Cool

    تا جایی که من باش ور رفتم این بیشتر به browser کاربر بستگی داره چون اونه که روی دستگاهش تعرییف کرده ( یا شده ) که این فایلها رو این کار کن.
    ولی اگر خیلی برات مهم نیست آن را zip rar ... تبدیل کن که پیشفرض همه برای آنها داونلوده.

  3. #3
    خب اگه می شه تا اون قسمت هایی رو که ور رفتین بگید شاید مشکل ما حل شد.

  4. #4
    شما می تونید با استفاده از تابع header و خوندن محتوی آن فایل به جای اجرای آن فایل , فایل موردنظر را دان لود می کند
    (که دیگر بحث شناسایی نوع فایل (با توجه به پسوند) توسط مرورگر و نحوه عکس العمل به آن (نمایش یا دان لود) پیش نیاید)
    یک نمونه سورس جهت دانلود برایتان می گذارم:
    پارامتر file جهت تعیین نام فایل جهت دان لود به این فایل ارسال می شود
    و همچنین در ابتدای برنامه متغیر zipfile نیز اگر برابر true باشد ابتدا فایل را فشرده و سپس دان لود می کند (شما می تونید در مورد فایلهای مختلف متفاوت عمل کنید به طول مثال در صورت بالا بودن حجم فایل دان لودی (با توجه به تشخیص اندازه سایز فایل متغیر ارسال شده) فایل را ابتدا فشرده کنید و سپس دان لود)
    و همچنین جهت انجام عملیات امنیتی (مثلا عدم تشخیص محل اصلی فایل برای دانلود) نیز می تونید متغیر file را به صورت کدشده و یا بدون اشاره به مسیر اصلی به سورس php موردنظر ارسال کنید و در آنجا مسیر اصلی را به ابتدای متغیر file اضافه کنید)
    <?
    // change php.ini gdlibzip
    //output_buffering = Off ; Output buffering allows you to send header lines (including cookies)
    //zlib.output_compression = On ;
    //extension=php_zlib.dll
    ini_set('output_buffering','off');
    ini_set('zlib.output_compression','On');
    //Start Output buffering
    ob_start();
    $zipfile = false; // if this variable ture the file for download before download compress file

    $file = $HTTP_GET_VARS['file'];

    if(!file_exists($file)) {
    echo '<html><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1256"></head><body></body></html>';
    echo '<script>alert(" the file '.$file.' is not found");</script>';
    echo '<script>history.back(-1);</script>';
    exit;
    }
    if ($zipfile) {
    $file = basename($file);
    $ExtDn = pathinfo($file);
    $ExtDn = $ExtDn["extension"];
    $zipnamefile = substr($file,0, strlen($file)-strlen($ExtDn)) . 'zip';
    require('zip.lib.php');
    $zipfile = new zipfile($zipnamefile,'', '');
    $zipfile->addFileAndRead(basename($file));
    echo $zipfile->file();
    }
    else {
    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Cache-Control: private",false);
    header("Content-Type: application/x-msdownload");
    header("Content-Disposition: attachment; filename=".basename($file).";" );
    header("Content-Transfer-Encoding: binary");
    header("Content-Length: ".filesize($file));
    readfile("$file");
    }
    ?>
    البته فکر کنم قبلا قبل از خرابی محتوی سایت که باعث بازگشت به تاریخ 17 خرداد شد بنده جواب این سؤال شما را داده بودم حتی بعد از دو پست اشاره به نام کلاس جهت فشرده سازی اطلاعات نیز شده بود
    فایل های ضمیمه فایل های ضمیمه

  5. #5
    کاربر دائمی
    تاریخ عضویت
    تیر 1384
    محل زندگی
    ایران
    پست
    191
    خیلی ممنونم

  6. #6
    کاربر دائمی آواتار Hamid_PaK
    تاریخ عضویت
    تیر 1384
    محل زندگی
    تهران
    پست
    1,125
    جواد جان یونیت unzip که کل zip رو بخونه و خودکار تمام محتویات اون رو باز کنه رو هم داری داداش

    با تشکر ، یا حق ...

  7. #7
    آره عزیزم موجود هست

    کتابخانه pclzip یکی از بهترین نمونه کلاسها جهت کار با فایلهای فشرده هست (ایجاد فایل فشرده, افزودن و ... از فایل فشرده , لیست کردن محتوی فایل فشرده ، بازیابی و ....) خلاصه همه کارهایی که بتوان با فایلهای فشرده کرد را دارد.
    بنده در چندین نمونه برنامه جهت آپلود اطلاعات توسط کاربر و ... از این کلاس استفاده کرده ام
    کافی است تا فایل را در یک فرم با خاصیت enctype="multipart/form-data" بر روی سرور آپلود کنید (منظور همان شاخه تمپ مربوطه هست) و سپس بعد از چک کردن نوع خصلت فایل در سرور و.... فایل موردنظر را توسط کلاس موردنظر فراخوانی و اکستراکت کنید (البته دقت کنید که اگر فایل ثابتی هست و یا شاخه خاصی در مسیر موردنظر جهت اکستراکت می باشد شما باید پرمیشن آن را در سرور تنظیم نمایید (777)

    جهت اطمینان بنده نمونه سورس استفاده شده برای این منظور را در اینجا قرار می دهم
    نکته: نام آبجکت جهت انتخاب فایل در فرم userfile هست


    $fsql=$HTTP_POST_FILES['userfile']['name'];
    if (!empty($fsql)) {
    $typefile = $HTTP_POST_FILES['userfile']['type'];
    $from=$HTTP_POST_FILES['userfile']['tmp_name'];
    if (is_uploaded_file($from)) {
    if ($typefile == 'application/x-zip-compressed') {
    include('zip.php');
    $archive = new PclZip($from);
    if (($v_result_list = $archive->extract()) == 0) {
    die("Error in Uncompres file : ".$archive->errorInfo(true)); }
    $to = $v_result_list[0]['stored_filename'];
    }else{
    $fsql=$HTTP_POST_FILES['userfile']['name'];
    $toInfo=pathinfo($fsql);
    $Ext=$toInfo['extension'];
    $file = basename($fsql,'.'.$Ext);
    $to = $file.'.'.$Ext;
    move_uploaded_file($from, $to) or die(exit);
    }
    echo "<script>alert(' با موفقیت آپلود شد".$to." فایل')</script>";
    }
    else{
    echo "<script>alert('".$HTTP_POST_FILES['userfile']['error']."اشکال شماره <BR>".'سیستم قادر به آپلود این فایل نیست'."')</script>";
    // echo '<script>history.back(-1);</script>';
    exit;
    }
    }
    فایل های ضمیمه فایل های ضمیمه
    • نوع فایل: zip zip.zip‏ (28.7 کیلوبایت, 83 دیدار)

  8. #8
    . آواتار oxygenws
    تاریخ عضویت
    دی 1382
    محل زندگی
    تهران/مشهد
    پست
    6,333
    بهتره به جای

    application/x-msdownload

    از

    application/force-download

    استفاده بشه، چون استاندارد ه و در همه سیستم عامل ها جواب میده.
    ایمیل من
    سایت من

    عضویت در جامعه‌ی اهدای عضو

    Direct PGP key: http://tinyurl.com/66q5cy
    PGP key server: keyserver.ubuntu.com
    PGP name to search: omidmottaghi

  9. #9
    کاربر دائمی آواتار I,Nobody
    تاریخ عضویت
    خرداد 1385
    محل زندگی
    کانادا
    پست
    464
    دوستان من از این اسکریپتی که شما زحمتشو کشیدین می خوام استفاده کنم ولی یه مشکل دارم که توضیح میدم :
    ببینید من یه فابل php دارم که یک پارامترهای مسیر تصویر و طول و عرض رو میگیره و تصویر رو resize شده بر می گردونه. حالا می خوام اون تصویری رو که این فایل بر می گردونه بذارم برای دانلود ولی نمیشه. البته در مورد تصویری که برمی گرده مطمئنم چون می تونم نمایشش بدم. ولی مشکل من همین دانلودش هست.
    آدرس تصویر من این میشه : show_image.php?filename=manuscript_images/08/0000.jpg&width=1024&height=768

  10. #10
    کاربر دائمی آواتار I,Nobody
    تاریخ عضویت
    خرداد 1385
    محل زندگی
    کانادا
    پست
    464
    آقا جاوید، آقا امید، آقا میلاد، اساتید محترم؛
    من واقعاً گیر کردم. لا اقل بگید شدنی هست یا نه؟

  11. #11
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    پست
    104
    تیکه کدت رو بگذار اینجا
    مشکلی نباید داشته باشه

    <?
    //get $_GET info
    header("Pragma: public");
    header("Expires: 0");
    header("Content-Type: application/x-msdownload");
    .
    .
    .
    //create image save in $img
    echo $img;


    باید کار کنه یک چکی بکن
    اون ها که نقطه گذاشتم رو همونی بگذار که بچه ها قبلا گذاشتند

  12. #12
    کاربر دائمی آواتار I,Nobody
    تاریخ عضویت
    خرداد 1385
    محل زندگی
    کانادا
    پست
    464

    <?
    // change php.ini gdlibzip
    //output_buffering = Off ; Output buffering allows you to send header lines (including cookies)
    //zlib.output_compression = On ;
    //extension=php_zlib.dll
    ini_set('output_buffering','off');
    ini_set('zlib.output_compression','On');
    //Start Output buffering
    ob_start();
    $path=$_GET['path'];
    $zipfile = false; // if this variable ture the file for download before download compress file
    $file= "show_image.php?filename={$_GET['path']}&width={$_GET['width']}&height={$_GET['height']}";
    if(!file_exists($_GET['path'])) {
    echo '<html><head><META HTTP-EQUIV="Content-Type" CONTENT="application/octet-stream; charset=utf-8"></head><body></body></html>';
    echo '<script>alert(" the file '.$_GET['path'].' is not found");</script>';
    echo '<script>history.back(-1);</script>';
    exit;
    }
    //==========
    if ($zipfile) {
    $file = basename($file);
    $ExtDn = pathinfo($file);
    $ExtDn = $ExtDn["extension"];
    $zipnamefile = substr($file,0, strlen($file)-strlen($ExtDn)) . 'zip';
    require('zip.lib.php');
    $zipfile = new zipfile($zipnamefile,'', '');
    $zipfile->addFileAndRead(basename($file));
    echo $zipfile->file();
    }
    //==========
    else {
    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Cache-Control: private",false);
    header("Content-Type: application/force-download");
    header("Content-Disposition: attachment; filename=".$_GET['name'].".jpg;" );
    header("Content-Transfer-Encoding: binary");
    header("Content-Length: ".filesize($file));
    $img="<img src='$file'>";
    //readfile($file);
    echo $img;
    }
    ?>

    همونطور که گفتم مشکل اینه که من در نهایت یک فایل php رو می دم برای دانلود. البته خروجی اون فایل php یک نصویر هست

  13. #13
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    پست
    104
    نه
    else آخری این طوری می گم بشه :

    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Cache-Control: private",false);
    header("Content-Type: application/force-download");
    header("Content-Disposition: attachment; filename=".$_GET['name'].".jpg;" );
    header("Content-Transfer-Encoding: binary");
    header("Content-Length: ".filesize($file));
    $img=changeSize($_GET['name'].".jpg",$_GET['width'],$_GET['hieght'])

    echo $img;

  14. #14
    کاربر دائمی آواتار I,Nobody
    تاریخ عضویت
    خرداد 1385
    محل زندگی
    کانادا
    پست
    464
    مرسی.
    فهمیدم چی می گی.
    میرم خونه تستش می کنم.

  15. #15

    وب پیج با پی اچ پی

    سلام دوستان
    بنده یه پیج ساده با زبان پی اچ پی میخوام برای ارائه به استاد
    فقط پیج ساده که شامل چند خط نوشته باشه.
    اگه میشه بگین با چه برنامه ای نوشته شده
    با تشکر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •