成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > safari下載文件自動加了html后綴問題

safari下載文件自動加了html后綴問題

熱門標簽:山東電銷卡外呼系統(tǒng)原理是什么 亳州企業(yè)外呼系統(tǒng) 地圖標注怎么做商戶驗證 兼職做地圖標注好賺錢嗎 智能電銷語音機器人資訊 400 電話 辦理 打開百度地圖標注 蘇州外呼系統(tǒng)有效果嗎 海南外呼系統(tǒng)方案

如何下載文件?

方法一、直接通過nginx下載靜態(tài)文件

如果文件是保存在服務(wù)器上面的,可以直接用nginx下載文件

比如說可以供用戶下載pdf文件,那么我的nginx配置可以是這樣子的:

location ~ /document/(.*)\.pdf$ {
  root /home/nemo/myfile;
  try_files /$uri 404;
}

按照上面的配置,當我請求 http://fbd.intelleeegooo.cc/document/test.pdf 的時候,我服務(wù)器上的位于 /home/nemo/myfile/document/test.pdf 的這個文件就被下載了。當找不到相應(yīng)的文件的時候,就會返回 404 。

方法二、通過php讀取文件并下載

但上面這種方式是所有人都可以下載pdf文件的,假如說下載文件這個動作是與賬號有關(guān)的,比如說某用戶只能下載某些文件,那么就需要在php里面對用戶賬戶進行處理并且下載相關(guān)文件。

看我在index.php里面這段示例代碼,這段代碼的功能下載test.txt文件

?php
$filePath = '/home/nemo/fun/testdownloadfile/test.txt';
$fileName = 'test.txt';
readfile($filePath);

比如說我開了一個8764端口,nginx配置如下:

server {
 listen 8764;
 server_name xx.xx.xx;
 ……
 ……
 ……
 location / {
 root   /home/nemo/fun/testdownloadfile;
  fastcgi_pass 127.0.0.1:xxxx;
  fastcgi_index index.php;
  include   fastcgi.conf;
 }
}

配置文件里面的 fastcgi_pass 后面可以是ip+端口,也可以是unix_socket的路徑。具體根據(jù)你安裝的php的里面的 php-fpm.conf 的 listen 來決定。

我們用 command + option + i 快捷鍵打開瀏覽器的調(diào)試模式,當我在瀏覽器里面請求 http://xx.xx.xx:8764/ 的時候,結(jié)果是瀏覽器直接把txt文件的內(nèi)容顯示在了頁面上。

看一下調(diào)試模式里面的這個請求,它的response header如下:

可以看到它里面的 Content-Type 是 text/html ,表示是一個html文件,所以瀏覽器就直接展示在頁面上了?!娟P(guān)于常用的一些 Content-Type ,可以見本文最后】

那么我改一下代碼,在里面設(shè)置一下header,示例代碼如下:

?php
$filePath = '/home/nemo/fun/testdownloadfile/test.txt';
$fileName = 'test.txt';
header('Content-Disposition: attachment; filename=' . $fileName);
readfile($filePath);

我在chrome里面新建一個tab頁輸入url http://fbd.intelleeegooo.cc/document/test.pdf 的時候,成功下載了這個文件,如下圖所示:


但是我在safari里面的時候,下載下來的文件多了一個 html 后綴,如下圖所示


我再改下代碼,設(shè)置 Content-Type ,看如下示例代碼:

?php
$filePath = '/home/nemo/fun/testdownloadfile/test.txt';
$fileName = 'test.txt';
header('Content-Type: application/octet-stream;charset=utf-8');
header('Content-Disposition: attachment; filename=' . $fileName);
readfile($filePath);

這樣改過之后,在safari里面下載的文件就是正常的了,不帶html后綴的。

2.2 在php里面讀取并輸出文件的幾種方法

在設(shè)置完header信息之后,下面幾種方法都可以用來輸出文件

file_get_contents() ,這個方法是把文件的內(nèi)容以字符串的形式全部讀取到內(nèi)存里面。當文件比較大的時候,會超過內(nèi)存限制

$content = file_get_contents($filePath);
echo $content;
file() ,將文件以行的形式全部讀取到數(shù)組中。當文件比較大的時候,會超過內(nèi)存限制
$f = file($filePath);
while(list($line, $content) = each($f)) { // $line是int類型表示是第幾行(從0開始), $content是字符串類型表示這一行的內(nèi)容
 echo $content;
}
readfile() ,讀取文件并且寫入到輸出緩沖區(qū)。這種方式可以輸出大文件,讀取單個文件不會超出內(nèi)存限制。
ob_end_clean();
readfile($filePath);

但是看官方手冊上面的這段話

readfile自身不會導(dǎo)致任何內(nèi)存問題。如果出現(xiàn)內(nèi)存不足的問題,使用 ob_get_level() 確保輸出緩存已經(jīng)關(guān)閉。

但 readfile() 方法還是可以會引起內(nèi)存耗盡

readfile實際上還是需要采用MMAP(如果支持), 或者是一個固定的buffer去循環(huán)讀取文件, 直接輸出。

fopen() ,這就類似于C語言里面的讀取文件。fopen每次可以指定讀取某個塊大小的內(nèi)容,可以讀入大文件。不會超過內(nèi)存限制

$file = @fopen($filePath,"rb");
while(!feof($file)) {
 print(@fread($file, 1024*8));
 ob_flush();
 flush();
}

2.3 內(nèi)存限制

在php的配置文件 php.ini 里面,有一個 memory_limit 這個設(shè)置項,設(shè)置的是每個腳本可以分配的內(nèi)存。

如下圖所示,我自己放寬了一點變成了256M,默認是128M

正如上面所說,讀取大文件的時候,可能會內(nèi)存耗盡。

php里面有 ini_set() 方法可以在腳本運行時保持新的值,在腳本結(jié)束時恢復(fù)。

并不是 php.ini 里面的所有設(shè)置項都可以被修改,所有可以被 ini_set() 修改的選項可以從 官方手冊里面的這個清單 知曉

有一種方法可以在執(zhí)行的時候動態(tài)的修改腳本可以使用的內(nèi)存大小,而不一定非要修改php.ini文件,畢竟php.ini是針對全局的。

在腳本里面動態(tài)的修改一些設(shè)置,只對該腳本有效,實際上并不真正地修改 php.ini 文件。

2.5 時間限制

一般情況下,使用php下載文件的時候,會加上一行 set_time_limit(0); ,表示不限制這個php腳本執(zhí)行的時間

?php
$filePath = '/home/nemo/fun/testdownloadfile/test.txt';
$fileName = 'test.txt';

set_time_limit(0);
header('Content-Type: application/octet-stream;charset=utf-8');
header('Content-Disposition: attachment; filename=' . $fileName);
readfile($filePath);

看下 官方手冊上 的解釋


Content-Disposition 相關(guān)解釋

在常規(guī)的HTTP應(yīng)答中, Content-Disposition 消息頭指示回復(fù)的內(nèi)容該以何種形式展示,是以內(nèi)聯(lián)的形式(即網(wǎng)頁或者頁面的一部分),還是以附件的形式下載并保存到本地

Content-Disposition 消息頭最初是在MIME標準中定義的,HTTP表單及POST 請求只用到了其所有參數(shù)的一個子集。只有form-data以及可選的name和filename三個參數(shù)可以應(yīng)用在HTTP場景中

inline

inline展示txt文件
看如下示例代碼,設(shè)置inline內(nèi)聯(lián),將上面的test.txt文件在瀏覽器里面展示

?php
$filePath = '/home/nemo/fun/testdownloadfile/test.txt';
$fileName = 'test.txt';
header('Content-Disposition: inline; filename=' . $fileName);
readfile($filePath);

常用的幾種 Content-Type 類型

下面列一下常用的幾種Content-Type

  • text/html ,內(nèi)容是html格式
  • text/plain ,內(nèi)容是純文本格式
  • image/gif , gif圖片格式
  • image/jpeg , jpg圖片格式
  • image/png , png圖片格式
  • multipart/form-data ,常見的 POST 數(shù)據(jù)提交的方式。當需要上傳文件時,會用到這種類型
  • application/json ,消息主體是序列化后的 JSON 字符串
  • application/octet-stream ,二進制流數(shù)據(jù)。一般在下載文件的時候比較常見
  • application/x-www-form-urlencoded , 瀏覽器的原生form表單,提交的數(shù)據(jù)按照 key1=val1key2=val2 的方式進行編碼,key和val都進行了URL轉(zhuǎn)碼

總結(jié)

以上所述是小編給大家介紹的safari下載文件自動加了html后綴問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • 微信頁面倒計時代碼(解決safari不兼容date的問題)
  • JS IOS/iPhone的Safari瀏覽器不兼容Javascript中的Date()問題如何解決
  • JavaScript的new date等日期函數(shù)在safari中遇到的坑
  • safari cookie設(shè)置中文失敗的解決方法
  • iOS9中的WebKit 與 Safari帶來的驚喜
  • 禁止iPhone Safari video標簽視頻自動全屏的辦法
  • js實現(xiàn)可兼容IE、FF、Chrome、Opera及Safari的音樂播放器
  • javascript實現(xiàn)阻止iOS APP中的鏈接打開Safari瀏覽器
  • iphone的safari瀏覽器中實現(xiàn)全屏瀏覽的方法
  • node.js 使用ejs模板引擎時后綴換成.html

標簽:呼倫貝爾 溫州 綏化 清遠 安康 金華 萊蕪 紹興

巨人網(wǎng)絡(luò)通訊聲明:本文標題《safari下載文件自動加了html后綴問題》,本文關(guān)鍵詞  safari,下載,文件,自動,加了,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《safari下載文件自動加了html后綴問題》相關(guān)的同類信息!
  • 本頁收集關(guān)于safari下載文件自動加了html后綴問題的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    18+激情视频在线| 草草影院在线观看| 国产精品久久久久免费a∨大胸| 国产精品免费99久久久| 欧美tk丨vk视频| 污网站在线观看免费| 国产综合精品视频| 91麻豆国产自产在线观看亚洲| 亚洲欧美在线视频免费| 制服丝袜亚洲色图| 国产福利片在线观看| 漫画在线观看av| 天堂中文最新版在线中文| www.狠狠操| 最近在线中文字幕| 精品一区在线视频| 中文视频一区视频二区视频三区| 蜜臀av免费一区二区三区| 黑人巨大精品欧美一区二区| 国产精品海角社区在线观看| 日韩你懂的在线观看| 国产三级久久久| 国产剧情麻豆剧果冻传媒视频免费| 国产一区二区三区自拍| 国产91绿帽单男绿奴| 国产精品av在线播放| 国模吧精品视频| 国产精品亚洲а∨天堂免在线| 亚洲精品一区在线| 国产精品九九九九| 国产美女撒尿一区二区| 国产丝袜一区视频在线观看| a级黄色片免费| 欧美xxxx在线观看| 亚洲区小说区图片区qvod| 国产aⅴ夜夜欢一区二区三区| 日韩网站免费观看| 免费久久精品视频| yiren22亚洲综合| 欧美日韩性生活视频| 成人免费在线视频网址| 欧美午夜激情在线| 日韩国产高清一区| 日本在线观看天堂男亚洲| 91玉足脚交嫩脚丫在线播放| 1区2区3区视频| 青娱乐91视频| 亚洲人体一区| 日韩精品中文在线观看| 欧美毛片在线观看| 国产激情自拍| 国产又粗又爽视频| 91精彩刺激对白露脸偷拍| 久久久久在线观看| 欧美一区=区| 乱一区二区三区在线播放| 国产精品www.| 青春草国产视频| jizzwww| 欧美另类女人| 人妻丰满熟妇av无码区hd| 国产精品久久久久久久久久直播| 大肉大捧一进一出好爽| 中文字幕国产一区二区| 精品国产91乱高清在线观看| 一区二区三区日韩在线| 99riav久久精品riav| 亚洲影视在线| 久久精品1区| 天天视频天天爽| 日本高清网站| 91黄色在线视频| 超碰97在线看| 久久久噜噜噜久久人人看| 欧美熟女一区二区| 一区在线电影| 日韩最新在线视频| 韩日视频在线观看| 亚洲欧洲激情在线乱码蜜桃| 91在线精品秘密一区二区| 污污视频网站在线| 9人人澡人人爽人人精品| 久久国产精品99久久久久久老狼| 污网站免费在线| 日韩视频精品在线| 久久久精品天堂| 黄色大片在线免费观看| 国产精品电影久久久久电影网| 色婷婷av一区二区三区之红樱桃| 免费看欧美女人艹b| 亚洲精品456在线播放狼人| 中文字幕日产av一二三区| 青青操在线观看视频| 中文字幕+乱码+中文乱码91| 久久久久88色偷偷| 国模叶桐国产精品一区| 久久精品 人人爱| 免费涩涩18网站入口| 成年网站视频| 一本大道综合伊人精品热热| 最近在线中文字幕| 欧美视频1区| av免费观看网站| 日韩中文字幕1| 97在线观看| 你懂的免费在线观看视频网站| 国产日韩视频在线观看| 精品系列免费在线观看| 日韩欧美自拍偷拍| 亚洲最新av在线| 日本一道本久久| 国产精品免费99久久久| 在线观看黄色小视频| 999成人网| 人成免费在线视频| 涩爱av在线播放一区二区| 亚洲综合自拍网| 精品国产乱码久久久久| 国产欧美久久久久| 亚洲精品不卡在线观看| 91精品一区二区三区综合| 亚洲男人天堂九九视频| 午夜天堂精品久久久久| 国产三级在线免费观看| 日本一级片免费看| 香蕉网站在线观看| 久热久热免费视频中文字幕777| 九九久久精品| 色噜噜日韩精品欧美一区二区| 在线播放国产一区中文字幕剧情欧美| 涩涩视频网站在线观看| 国产精品夫妻自拍| 韩国美女主播一区| 日本一卡二卡在线| 日日躁夜夜躁人人揉av五月天| 亚洲中文字幕无码不卡电影| 麻豆亚洲av成人无码久久精品| 一级片在线观看| 国产福利电影网| 成人在线精品视频| 国产亚洲精品成人av久久ww| 国产美女情趣调教h一区二区| 成年人网站av| 少妇人妻好深好紧精品无码| 国产九九九九| 国产精品视频一区二区三区麻豆| 国产精品一区二区久久国产| 超碰高清在线| 日韩高清专区| 日本丰满大乳奶| 一本一本久久a久久精品综合麻豆| 国产乱码精品一区二区三区忘忧草| 非洲一级黄色片| 琪琪亚洲精品午夜在线| 久本草在线中文字幕亚洲| 国产美女免费观看| 一区二区三区短视频| 成人性生活视频免费看| 无码人妻精品一区二区三区9厂| 亚洲男人的天堂在线视频| 手机在线不卡av| 国产字幕在线观看| 国产91社区| 亚洲国产精品视频一区| 亚洲区在线播放| www.久久久久久| 亚洲欧美日韩在线不卡| 一呦二呦三呦国产精品| 国产色无码精品视频国产| 亚洲色图狂野欧美| av网站在线不卡| 国产69精品久久久久久久| 在线观看污网站| 裸体女人亚洲精品一区| 国产又爽又黄的激情精品视频| 国产一区二区三区四区大秀| 成人看片黄a免费看视频| 92看片淫黄大片一级| 国产欧美一区二区三区在线看| 不卡一区二区在线观看| 精品国内自产拍在线观看视频| 欧美 中文字幕| 欧美一区二区三区在线观看免费| 亚洲系列在线观看| 三级免费网站| 国产在线|日韩| 欧美图片欧美激情欧美精品| 亚洲视频导航| 亚洲v精品v日韩v欧美v专区| 久久久久99| 涩爱av色老久久精品偷偷鲁| 国产乱子伦精品无码码专区| 国产传媒日韩欧美成人| 欧美激情777| 美女av在线免费观看| 天天综合天天干| 国产精品chinese| 狠狠色综合播放一区二区| 亚洲精品国产精品自产a区红杏吧| 亚洲福利av在线| 特黄一区二区三区| 美女被黑人40厘米进入| 亚洲黄色av一区| 久久久久久网址| 91大神免费观看| 亚洲欧美日韩在线播放| 黄网站在线观看永久免费| 日韩精品视频免费播放| 欧美乱妇18p| 4438x成人网最大色成网站| 91精品久久久久久久久久久久久久| 国产精品一区二区av交换| 亚洲一区二区三区成人在线视频精品| 久久看片网站| 日本一区视频| 欧美亚洲丝袜| 夜夜嗨av色一区二区不卡| 99tv成人| 欧美日韩激情视频一区二区三区| 综合在线影院| 国产永久免费网站| 亚欧美无遮挡hd高清在线视频| 韩国精品主播一区二区在线观看| 色综合中文字幕国产| 日本久久免费| 另类人妖一区二区av| 成人在线免费看视频| 久久米奇亚洲| 91九色蝌蚪国产| 国产精品色婷婷在线观看| 欧美视频在线观看一区| 欧美亚洲免费电影| 久久狠狠亚洲综合| 又粗又硬又爽国产视频| 丰满的少妇愉情hd高清果冻传媒| 中日韩视频在线观看| 91热爆在线观看| 黄色a级在线观看| 一区二区三区四区精品视频| 偷拍25位美女撒尿视频在线观看| 色135综合网| 91精品国产入口| 4444欧美成人kkkk| 日韩精品免费播放| 麻豆国产欧美一区二区三区r| 日韩av免费在线| 日本黄在线观看| 国产精品高清一区二区三区| 日本韩国欧美国产| 国产一区二区三区高清在线观看| 国产欧美精品一区二区三区| 91久久国产综合| 欧美黑人做爰爽爽爽| 精品一区二区三区四区| 情侣偷拍对白清晰饥渴难耐| 亚洲精品91美女久久久久久久| 国产剧情av片巨作醉酒女邻居| 国产原创精品视频| 特级西西444| 僵尸世界大战2 在线播放| 欧美国产三区| 中文字幕一区二区久久人妻网站| 午夜电影网一区| 亚洲国产一区在线| 国产欧美二区| 91超薄丝袜肉丝一区二区| 日韩成人久久久| 日韩av在线电影网| 欧美日韩三级| 日韩精品一区二区三区swag| 国产成人黄色片| 国产中文一区二区| www一区二区三区| 久久久人成影片一区二区三区观看| 亚洲人性生活视频| 一级中文字幕一区二区| 蜜臀av一区二区| 欧美日韩在线不卡一区| 久久精品国产亚洲精品2020| 日韩视频第一页| 色综合久久久久综合| 亚洲精品之草原avav久久| 黄网站免费在线播放| 亚洲91在线| 亚洲美女淫视频| 亚洲va久久久噜噜噜久久| 久久涩涩网站| 色版视频在线观看| av毛片久久久久**hd| 粉嫩av一区二区三区免费野| 久久国产视频网| 伊人久久大香线蕉综合网蜜芽| 国产精品你懂的在线欣赏| 欧美日精品一区视频| 亚洲精品网站在线| 亚洲成人国产精品| 91精品一区二区三区四区| 天堂аⅴ在线最新版在线| 国产精品久久久久高潮| 一区二区三区免费| 精品视频免费看| 暖暖视频日本免费| 亚洲羞羞网站| 日批免费在线观看| 欧美色手机在线观看| 日批视频在线看| 51精品秘密在线观看| 久久精品人人做人人爽电影| 最新中文字幕一区二区三区| 99视频免费看| 欧美日本在线一区| 九九热99久久久国产盗摄| 欧美伦理免费在线| 精品国产免费人成电影在线观...| 免费看啪啪网站| 国产精品极品美女粉嫩高清在线| 欧美伦理一区二区| 亚洲 另类 春色 国产| 日韩精品一区二区三区视频在线观看| 欧美日韩国产激情| 无码人妻精品一区二区三| 久久精品一区四区| 手机在线观看毛片| 欧美国产精品v| 久热精品在线播放| 日韩av不卡在线| 亚洲xxx自由成熟| 欧美性xxxx禁忌|