久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長(zhǎng)資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

PHP通過(guò)header方式下載文件教程

PHP通過(guò)header方式下載文件時(shí),不能使用ajax方式提交,該方式會(huì)將header結(jié)果返回給ajax

(1) 在下載大文件的時(shí)候,通常需要很長(zhǎng)的時(shí)間,PHP有默認(rèn)執(zhí)行時(shí)間,一般是30s,超過(guò)該時(shí)間,就是下載失敗,所以需要設(shè)置一下超時(shí)時(shí)間`set_time_limit(0);`

該語(yǔ)句說(shuō)明函數(shù)執(zhí)行不設(shè)置超時(shí)時(shí)間。另一個(gè)需要設(shè)置的就是內(nèi)存使用,設(shè)置`ini_set('memory_limit', '128M');`即可。

(2) 對(duì)于下載文件的文件名稱,下載下來(lái)可能會(huì)出現(xiàn)亂碼,當(dāng)然,這種情況出現(xiàn)在文件名包含中文或者特殊字符的情況下,此時(shí),可以設(shè)置一下header:

$contentDispositionField = 'Content-Disposition: attachment; '                     . sprintf('filename="%s"; ', basename($file))                           . sprintf("filename*=utf-8''%s", basename($file));    header($contentDispositionField);

(3)下載buffer大小,這個(gè)可以根據(jù)服務(wù)器帶寬設(shè)置,一般4096就可以

(4)下載時(shí),可以在echo buffer之后設(shè)置sleep(1)讓程序休眠

(5)在設(shè)置header之前,ob_clean()一下,清除緩存區(qū)內(nèi)容

1.強(qiáng)制下載本地文件

function forceDownload($file = '') {     set_time_limit(0);     //超時(shí)設(shè)置     ini_set('memory_limit', '128M');    //內(nèi)存大小設(shè)置     ob_clean();     header("Pragma: public");     header("Expires: 0");     header("Cache-Control: must-revalidate, post-check=0, pre-check=0");     header("Content-Type: application/force-download");     header("Content-Type: application/octet-stream");     header("Content-Type: application/download");     $contentDispositionField = 'Content-Disposition: attachment; '             . sprintf('filename="%s"; ', basename($file))         . sprintf("filename*=utf-8''%s", basename($file));    //處理文件名稱     header($contentDispositionField);     header("Content-Transfer-Encoding: binary");     header("Content-Length: " . filesize($file));     $read_buffer = 4096;                                    //設(shè)置buffer大小 	$handle = fopen($file, 'rb'); 	//總的緩沖的字節(jié)數(shù) 	$sum_buffer = 0; 	//只要沒(méi)到文件尾,就一直讀取 	while (!feof($handle) && $sum_buffer < filesize($file)) { 		echo fread($handle, $read_buffer); 		$sum_buffer += $read_buffer; 	} 	//關(guān)閉句柄 	fclose($handle); 	exit; }

2.限制下載速率

/**  * @param  $localFile 本地文件  * @param  $saveFileName  另存文件名  * @param  $downloadRate  下載速率  */ function download_with_limitRate($localFile = '',$saveFileName = '',$downloadRate = 20.5) { 	if(file_exists($localFile) && is_file($localFile)) { 		ob_clean(); 		header('Cache-control: private'); 		header('Content-Type: application/octet-stream');  		header('Content-Length: '.filesize($localFile)); 		header('Content-Disposition: filename='.$saveFileName); 		 		flush();     		// 打開(kāi)文件流 		$file = fopen($localFile, "r");     		while(!feof($file)) { 			// 發(fā)送當(dāng)前塊到瀏覽器 			print fread($file, round($downloadRate * 1024));     			// 輸出到瀏覽器 			flush(); 			// sleep one second 			sleep(1);     		}     		//關(guān)閉文件流 		fclose($file);} 	else { 		die('Error: The file '.$localFile.' does not exist!'); 	} }

3.下載網(wǎng)絡(luò)文件

function downloadFromUrl($url = '', $savePath = 'uploads/') {     set_time_limit(0);     ini_set('max_execution_time', '0');     $pi = pathinfo($url);     $ext = $pi['extension'];     $name = $pi['filename'];      $ch = curl_init();     curl_setopt($ch, CURLOPT_URL, $url);     curl_setopt($ch, CURLOPT_HEADER, false);     curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);     curl_setopt($ch, CURLOPT_AUTOREFERER, true);     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);     $opt = curl_exec($ch);     curl_close($ch);     $saveFile = $name . '.' . $ext;     if (preg_match("/[^0-9a-z._-]/i", $saveFile)) {         $saveFile = $savePath . '/' . md5(microtime(true)) . '.' . $ext;     } else {         $saveFile = $savePath . '/' . $name . '.' . $ext;     }      $handle = fopen($saveFile, 'wb');     if(fwrite($handle, $opt)){         echo 'download success';     }     fclose($handle);     exit; }

4.獲取網(wǎng)絡(luò)文件大小

function remote_filesize($url, $user = "", $pw = "") {     ob_start();     $ch = curl_init($url);     curl_setopt($ch, CURLOPT_HEADER, 1);     curl_setopt($ch, CURLOPT_NOBODY, 1);     if (!empty($user) && !empty($pw)) {         $headers = array('Authorization: Basic ' . base64_encode("$user:$pw"));         curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);     }     curl_exec($ch);     curl_close($ch);     $head = ob_get_contents();     ob_end_clean();     $regex = '/Content-Length:s([0-9].+?)s/';     preg_match($regex, $head, $matches);     return isset($matches[1]) ? $matches[1] : "unknown"; }

總結(jié):

1.通過(guò)header方式下載一定不能通過(guò)ajax方式請(qǐng)求

2.設(shè)置超時(shí)時(shí)間

3.設(shè)置memory_limit

4.在header之前ob_clean()

5.設(shè)置buffer大小

6.可以設(shè)置sleep()減輕內(nèi)存壓力

贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
欧美激情福利| 国产亚洲一卡2卡3卡4卡新区| 女同性一区二区三区人了人一| 日本欧美一区| 亚洲一区欧美激情| а√天堂8资源在线| 日本视频一区二区| 91精品国产调教在线观看| 国产午夜精品一区在线观看| 久久亚洲图片| 91精品国产乱码久久久久久久| 国产精成人品2018| 日本综合视频| 蜜桃久久久久久久| 宅男噜噜噜66国产日韩在线观看| 韩日一区二区| 久久电影tv| 97国产成人高清在线观看| 精品欧美日韩精品| 精品国产亚洲一区二区三区| 怡红院精品视频在线观看极品| 精品中文在线| 蜜臀久久99精品久久一区二区 | 国产日韩欧美一区在线| 久久不卡日韩美女| 亚洲成av人片一区二区密柚| 美女精品网站| 国产福利一区二区三区在线播放| 日本美女一区| 亚洲精品黄色| 成人免费电影网址| 涩涩涩久久久成人精品| 一区二区三区四区日本视频| 婷婷成人av| 国产一区日韩一区| 国产精品久久久久久av公交车 | 国产高清久久| 日韩在线麻豆| 国产毛片精品久久| av亚洲在线观看| 国产精品www.| 综合视频一区| 亚洲大全视频| 国产精品久久久久久久久妇女| 视频在线观看一区| 久久精品官网| 国产91在线播放精品| 中文日韩欧美| 久久久人人人| 青青久久av| 国产一区二区三区四区五区传媒| 亚洲一级大片| 一区二区电影| 99pao成人国产永久免费视频| 久久狠狠婷婷| 国产中文在线播放| 精品国产乱码久久久久久樱花| 91成人精品在线| 日本a口亚洲| 日韩精品福利一区二区三区| 中文无码久久精品| 石原莉奈在线亚洲二区| 久久亚洲欧美| 午夜欧美精品| 国产农村妇女精品一二区| 亚洲尤物在线| 在线精品国产亚洲| 日韩久久99| 国产毛片精品| 桃色av一区二区| 激情欧美一区二区三区| 亚洲少妇诱惑| 日本91福利区| 美女久久99| 手机精品视频在线观看| 日韩制服丝袜av| 欧美中文高清| 久久精品一本| 国产a亚洲精品| 婷婷亚洲综合| 91精品国产自产观看在线| 国产精品高潮呻吟久久久久| 精品精品99| av不卡在线| 国产精品久久| 精品1区2区3区4区| 日本视频一区二区| 九色porny丨国产首页在线| 红桃视频欧美| 麻豆久久久久久| 人人精品亚洲| 日韩av网站免费在线| 欧美日韩国产观看视频| 日韩不卡免费高清视频| 91成人在线网站| 日韩一区二区三区免费| 丝袜美腿一区二区三区| 国产亚洲高清在线观看| 在线视频观看日韩| 国产精品一区二区免费福利视频| 91精品蜜臀一区二区三区在线| 欧美+亚洲+精品+三区| 国产毛片精品| 在线观看一区| 免费久久久久久久久| 国产精品nxnn| 色婷婷成人网| 99在线|亚洲一区二区| 久久成人av| 日韩av网站在线免费观看| 欧美精品激情| 久久一区二区三区喷水| 久久精品天堂| 国产欧美自拍| 欧美啪啪一区| 婷婷五月色综合香五月| 先锋亚洲精品| 亚洲精品1区| 性欧美xxxx免费岛国不卡电影| 国产一区二区三区久久| 久久精品女人| 手机在线电影一区| 日本а中文在线天堂| 国产精品99久久久久久董美香| 日本中文字幕一区二区| 亚洲毛片一区| 日本99精品| 国产精品一区二区中文字幕| 97精品资源在线观看| 日韩一区免费| 久久国产麻豆精品| 精品国产美女a久久9999| 精品视频一区二区三区在线观看 | 国产亚洲精品美女久久| 国产欧美日韩精品一区二区三区| 在线成人直播| 美女91精品| 欧美日本一区| 国产成人1区| 欧美亚洲日本精品| 美女av在线免费看| 国产精品网在线观看| 免费观看久久久4p| 午夜亚洲福利| 麻豆精品视频在线观看| 欧美韩日一区| 99国产精品免费视频观看| 欧美成人午夜| 亚欧洲精品视频在线观看| 国产精品成人国产| 欧美日韩一区二区国产| 欧美国产偷国产精品三区| 激情综合自拍| 清纯唯美亚洲综合一区| 国产一区精品福利| 欧美精品自拍| 国产福利亚洲| 影视先锋久久| 日韩av午夜在线观看| av资源中文在线| 亚洲小说春色综合另类电影| 欧美极品中文字幕| 亚洲a在线视频| 日韩激情网站| 99精品综合| 亚洲图片久久| 久久久久久免费视频| 欧美精品三级在线| 美女被久久久| 91tv亚洲精品香蕉国产一区| 日韩高清二区| 视频在线在亚洲| 久久精品国产大片免费观看| 国产精品三级| 日本午夜精品| 99在线精品免费视频九九视| 日韩福利一区| 久久精品国产99国产精品| 日本午夜精品| 亚洲欧洲美洲国产香蕉| 国产超碰精品| 麻豆精品蜜桃| 欧美日韩精品免费观看视欧美高清免费大片 | 欧美.日韩.国产.一区.二区 | 亚洲一级网站| 亚洲福利精品| 视频福利一区| 久草免费在线视频| 国产中文字幕一区二区三区| 久久不见久久见免费视频7| 7777精品| 国产毛片精品| 久久精品一区二区国产| 美女av一区| 精品久久一区| 神马午夜在线视频| 91精品xxx在线观看| 在线天堂中文资源最新版| 精品视频一二| 99热精品久久|