دانلود فایل

jalaladdin

Active Member
برای دانلود فایل بدین صورت کد را نوشتم
PHP:
$result=mysql_query("select * from `fil` where `id`='".intval($_GET['id'])."'")or die(mysql_error());
   if(mysql_num_rows($result)>0 ){
       $row=mysql_fetch_assoc($result);
       $file=$row['name'];
       $type="application/pdf";
       $data=file_get_contents("pdf/".$file);
       $size=strlen($data);
       header("content-disposition:attachment; filename=$file");
      
       header("content-type:$type");
       header("content-length:$size");
       echo $data;

اما فایلی که دانلود میکنم حجم آن کمتر از حجم واقعی آن میباشد ووقتی آن فایل را باز میکنم این پیغام خطا را نشان میدهد
 

پیوست ها

  • 1.jpg
    1.jpg
    37.1 کیلوبایت · بازدیدها: 6

k2-4u

Well-Known Member
در تنظیمات php
موردی هست به اسم
max_execution_time = 30
که اگر باز شدن یک صفحه php بیشتر از 30 ثانیه طول بکشه . اسکریپ رو متوفق میکنه
شما باید این نتظیم رو برابر 0 قرار بدین
فکر کنم مشکل از اینجا باشه

توضیحات
http://php.net/max-execution-time
 

jalaladdin

Active Member
من میخواهم فایلهای از نوع (zip,doc,ppt) دانلود کنم چه تغییراتی در کد دانلود بدهم تا این فایلها هم دانلود شوند
 

k2-4u

Well-Known Member
باز هم مشکل وجوددارد

حجم فایل شما چقدر کم میشه مقدار مشخص؟
یا حجم از مقدار مشخص بیشتر نمیشه ؟
--
این تنظیم رو روی سیستم خانگی تست کردین نشد؟

من میخواهم فایلهای از نوع (zip,doc,ppt) دانلود کنم چه تغییراتی در کد دانلود بدهم تا این فایلها هم دانلود شوند


کافیه نوع mime رو تغییر بدین

اینجا لیست mime ها موجوده
http://www.webmaster-toolkit.com/mime-types.shtml
PHP:
$type="application/zip";
 

jalaladdin

Active Member
این دستور را اضافه کردم
PHP:
 $type=array(
      "application/pdf",
      "text/plain",
      "text/html",
      "text/html",
     "application/octet-stream",
     "application/zip",
     "application/msword",
     "application/vnd.ms-excel",
     "application/powerpoint",
     "image/gif",
     "image/png",
     "image/jpg",
      "image/jpg",
     "text/plain"
 );
اما فایل از نوع pdf دانلود میشوند اما فایلهای از نوع ppt , doc,zipدانلود میشوند اما پیام can not open it را میدهد به نظر شما مشکل از کجاست؟
 

k2-4u

Well-Known Member
شما اول یک کتاب php مطاله بفرمایید
بعد . اگر مشکلی بود ما در خدمت هستیم

موفق باشید
 

jalaladdin

Active Member
کد دانلود فایل را بدین صورت تغییر دادم
PHP:
$file=$row['name'];            $mime_types['pdf'] = 'application/pdf'; $mime_types['zip'] = 'application/zip'; $mime_types['doc'] = 'application/doc';$mime_types['ppt'] = 'application/ppt';               $data=file_get_contents("upload/".$file);       $size=strlen($data);       header("content-disposition:attachment; filename=$file");    header("content-type:".$mime_types[strtolower(pathinfo($file, PATHINFO_EXTENSION))]);              header("content-length:$size");       echo $data;

اما فایلهای از نوع ppt و doc خراب دانلود میشوند
 

jalaladdin

Active Member
برای دانلود فایل از روی wamp برای فرمتهای که تعیین کردم جواب میده اما روی هاست وقتی فایل دانلود میکنم به فرض اگر pdf باشد خراب هست این پیغام خطا میده
 

پیوست ها

  • Untitled.jpg
    Untitled.jpg
    40.9 کیلوبایت · بازدیدها: 2

جدیدترین ارسال ها

بالا