และ แบบที่สองคือไม่สามารถดาวน์โหลดได้เนื่องจากไฟล์มีขนาดใหญ่และใช้เวลาดาวน์โหลดนาน
PHP: Fatal Error: Allowed Memory Size of ................... Bytes Exhausted (CodeIgniter + XML-RPC)
1. สร้างไฟล์ .htaccess ดังนี้
AddDefaultCharset UTF-8
DefaultLanguage en-US
php_value post_max_size "20M"
# Maximum file size of post data that PHP will accept.
php_value upload_max_filesize "20M"
#Maximum allowed file size for uploaded files.
php_value max_execution_time 200
#Access upload Time
php_value max_input_time 200
#Access Download Time
php_value memory_limit "20M"
#Maximum allowed file size for Download files.
2. ใช้โค้ดแบบ Limit แบนวิธ สำหรับดาวน์โหลดไฟล์ เพื่อบีบให้มีแบนวิธคงที่
$file = "Filename.zip"; //ชื่อไฟล์
$speed = 50; // i.e. 50 kb/s ความเร็วในการดาวน์โหลด
if(file_exists($file) && is_file($file)) {
header("Cache-control: private");
header("Content-Type: application/octet-stream");
header("Content-Length: ".filesize($file));
header("Content-Disposition: filename=$file" . "%20");
flush(); //เคลียHEAD ก่อนดาวน์โหลด
$fd = fopen($file, "r");
while(!feof($fd)) {
echo fread($fd, round($speed*1024)); // $ความเร็ว คูณ kb
flush();
sleep(1);
}
fclose ($fd);
}
?>
(เครดิตสวนนี้: http://www.developertutorials.com/tutorials/php/how-to-limit-file-download-speed-in-php-114/)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น