.fatemeh
جمعه 14 آذر 1393, 12:01 عصر
سلام
در سایت قسمتی برای دانلود مقاله وجو داره که من از کد زیر استفاده کردم.
$name=mysql_real_escape_string($_REQUEST['n']);
if($name==""){ die('File Not Found');}
$dir22=$_SERVER['DOCUMENT_ROOT'].'images/catalog/';
downloadFile($dir22.$name);
function downloadFile($fullPath){
// Must be fresh start
if( headers_sent() )
die('Headers Sent');
// Required for some browsers
if(ini_get('zlib.output_compression'))
ini_set('zlib.output_compression', 'Off');
// File Exists?
if( file_exists($fullPath) ){
// Parse Info / Get Extension
$fsize = filesize($fullPath);
$path_parts = pathinfo($fullPath);
$ext = strtolower($path_parts["extension"]);
// Determine Content Type
switch ($ext) {
case "pdf": $ctype="application/pdf"; break;
case "exe": $ctype="application/octet-stream"; break;
case "zip": $ctype="application/zip"; break;
case "doc": $ctype="application/msword"; break;
case "xls": $ctype="application/vnd.ms-excel"; break;
case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "jpeg":
case "jpg": $ctype="image/jpg"; break;
default: $ctype="application/force-download";
}
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header("Content-Type: $ctype");
header("Content-Disposition: attachment; filename=\"".basename($fullPath)."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".$fsize);
ob_clean();
flush();
readfile( $fullPath );
} else
die('File Not Found');
}
?>
ولی هنگام استفاده خطای Headers Sent میده در حالی که روی سایت های دیگه همین کد داره درست کار می کنه.
تمام ورودی ها رو چک کردم درست بود. فایل رو دریافت می کنه ولی دانلود نمی شه.
مشکلش کجاست؟؟:ناراحت:
در سایت قسمتی برای دانلود مقاله وجو داره که من از کد زیر استفاده کردم.
$name=mysql_real_escape_string($_REQUEST['n']);
if($name==""){ die('File Not Found');}
$dir22=$_SERVER['DOCUMENT_ROOT'].'images/catalog/';
downloadFile($dir22.$name);
function downloadFile($fullPath){
// Must be fresh start
if( headers_sent() )
die('Headers Sent');
// Required for some browsers
if(ini_get('zlib.output_compression'))
ini_set('zlib.output_compression', 'Off');
// File Exists?
if( file_exists($fullPath) ){
// Parse Info / Get Extension
$fsize = filesize($fullPath);
$path_parts = pathinfo($fullPath);
$ext = strtolower($path_parts["extension"]);
// Determine Content Type
switch ($ext) {
case "pdf": $ctype="application/pdf"; break;
case "exe": $ctype="application/octet-stream"; break;
case "zip": $ctype="application/zip"; break;
case "doc": $ctype="application/msword"; break;
case "xls": $ctype="application/vnd.ms-excel"; break;
case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "jpeg":
case "jpg": $ctype="image/jpg"; break;
default: $ctype="application/force-download";
}
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header("Content-Type: $ctype");
header("Content-Disposition: attachment; filename=\"".basename($fullPath)."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".$fsize);
ob_clean();
flush();
readfile( $fullPath );
} else
die('File Not Found');
}
?>
ولی هنگام استفاده خطای Headers Sent میده در حالی که روی سایت های دیگه همین کد داره درست کار می کنه.
تمام ورودی ها رو چک کردم درست بود. فایل رو دریافت می کنه ولی دانلود نمی شه.
مشکلش کجاست؟؟:ناراحت: