兩種方法:
成都創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)崇禮,十載網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792
1.直接做個(gè)超鏈接,地址為文件的地址
a?href="文件地址"下載/a
2.流輸出
?php
$file=fopen('文件地址',"r");
header("Content-Type:?application/octet-stream");
header("Accept-Ranges:?bytes");
header("Accept-Length:?".filesize('文件地址'));
header("Content-Disposition:?attachment;?filename=文件名稱");
echo?fread($file,filesize('文件地址'));
fclose($file);
?
推薦第二種
因?yàn)榈谝环N方法只能下載瀏覽器不能解析的文件,比如rar啊,腳本文件之類。如果文件是圖片或者txt文檔,就會(huì)直接在瀏覽器中打開。
而第二種方法是直接輸出的文件流,不存在上述問題。
你可以檢查一下你傳值過來的路徑是否正確,還有,流輸出后面不要再進(jìn)行任何操作了。
拓展資料:
集成開發(fā)環(huán)境是一種集成了軟件開發(fā)過程中所需主要工具的集成開發(fā)環(huán)境,其功能包括但不僅限于代碼高亮、代碼補(bǔ)全、調(diào)試、構(gòu)建、版本控制等。一些常見的PHP IDEs如下:
Zend Studio:商業(yè)版,Zend官方出品,基于eclipse
Eclipse?with PDT:免費(fèi)
Coda:商業(yè)版,針對(duì)Mac用戶
NetBeans:免費(fèi),功能強(qiáng)大
PHP Storm:商業(yè)版
Aptana?Studio:免費(fèi)
PhpEd:商業(yè)版
Komodo?IDE/Edit:IDE為商業(yè)版,Edit可免費(fèi)使用
Adobe Dreamweaver:商業(yè)版
除去集成開發(fā)環(huán)境,具備代碼高亮功能的常見文本編輯器因其輕巧靈活也常被選作開發(fā)工具,例如:Notepad++、Editplus、SublimeText、Everedit(國(guó)人開發(fā))等等。
PHP的特性包括:
1. PHP 獨(dú)特的語法混合了 C、Java、Perl 以及 PHP 自創(chuàng)新的語法。
2. PHP可以比CGI或者Perl更快速的執(zhí)行動(dòng)態(tài)網(wǎng)頁——?jiǎng)討B(tài)頁面方面,與其他的編程語言相比,
PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成htmL標(biāo)記的CGI要高許多;
PHP具有非常強(qiáng)大的功能,所有的CGI的功能PHP都能實(shí)現(xiàn)。
3. PHP支持幾乎所有流行的數(shù)據(jù)庫(kù)以及操作系統(tǒng)。
4. 最重要的是PHP可以用C、C++進(jìn)行程序的擴(kuò)展!
參考資料:百度百科:PHP
系統(tǒng)bug,網(wǎng)絡(luò)問題。
1、系統(tǒng)bug是phpstorm系統(tǒng)出現(xiàn)了問題導(dǎo)致下載數(shù)據(jù)庫(kù)引擎下載不了,等待官方修復(fù)即可。
2、網(wǎng)絡(luò)問題是自身設(shè)備連接的網(wǎng)絡(luò)出現(xiàn)較大波動(dòng),導(dǎo)致phpstorm下載數(shù)據(jù)庫(kù)引擎下載不了,更換網(wǎng)絡(luò)重新打開即可。
再把數(shù)據(jù)讀出來不就行了。不明白到底想做成什么樣。
如果想做成TXT文本樣的數(shù)據(jù)下載到本地,那就生成TXT文件,數(shù)據(jù)的排列格式得自己制定。
下載成什么格式?是什么數(shù)據(jù)?普通文本數(shù)據(jù)?
將數(shù)據(jù)生成一定格式的TXT文本在服務(wù)器端,然后用戶可下載。生成文件的代碼網(wǎng)上有。起點(diǎn)中文網(wǎng)的小說下載功能見過沒?就是那樣的。
生成WORD文件不知道。不過TXT文件倒是可以??墒悄銥槭裁捶且蒞ORD文件呢?數(shù)據(jù)庫(kù)里的數(shù)據(jù)讀出來也是純文本格式。還有一點(diǎn),你可以生成.doc后綴名的文件,那樣打開的話是用WORD打開,但實(shí)質(zhì)上還是純文本文件。
================================================
我只會(huì)ASP。下面是ASP的代碼。不過PHP的也不難,你查下函數(shù)庫(kù)就看到了,另外到網(wǎng)上搜一下也很多。寫文件操作是一門動(dòng)態(tài)網(wǎng)頁語言的很平常操作,一般CMS程序里也有這樣的程序片段,可以參考。
FilePath1="../Html/AC/"C_ChanalEnName"/"
FilePath2=CStr(Year(C_RegTime)Month(C_RegTime))
NHtml=XTTag(YHtml)'系統(tǒng)標(biāo)簽
NHtml=NRTag(NHtml,C_ID)'內(nèi)容頁相關(guān)標(biāo)簽
NHtml=TJS_Text(NHtml)'文章頁推薦專題
'=================================寫文件
'=========判斷文件夾
SavePath =FilePath1 FilePath2 '文件上傳路徑
'判斷SavePath文件夾是否存在,如果不存在則創(chuàng)建
Set myfileobject=server.CreateObject("scripting.filesystemobject")
If not myfileobject.folderexists(Server.MapPath(SavePath)) then myfileobject.CreateFolder(Server.MapPath(SavePath))
set myfileobject=nothing
'===================================
Set fs2=Server.CreateObject("Scripting.FileSystemObject")
File2=Server.MapPath(""FilePath1FilePath2"/comic_"C_ID".html")
Set txtf2=fs2.OpenTextFile(File2,2,true)
txtf2.Write NHtml
response.write(" font color=#FF0000文章頁/font 靜態(tài)頁生成成功!/br")
set fs2=nothing
set txtf2=nothing
set File2=nothing
NHtml=""
'===================================
-----------------------------------------------------------------
上面是我的一個(gè)程序里摘來的,實(shí)際上簡(jiǎn)化一下就是這樣:
'=========判斷文件夾
SavePath ="/Html" '文件上創(chuàng)建路徑
'判斷SavePath文件夾是否存在,如果不存在則創(chuàng)建
Set myfileobject=server.CreateObject("scripting.filesystemobject")
If not myfileobject.folderexists(Server.MapPath(SavePath)) then myfileobject.CreateFolder(Server.MapPath(SavePath))
set myfileobject=nothing
'===================================真正的寫文件。
Set fs2=Server.CreateObject("Scripting.FileSystemObject")
File2=Server.MapPath(""SavePath"/Index.txt")'這里是文件名、文件后綴及文件目錄。
Set txtf2=fs2.OpenTextFile(File2,2,true)
txtf2.Write NHtml
response.write("文件生成成功。")
set fs2=nothing
set txtf2=nothing
set File2=nothing
NHtml=""
'===================================
代碼中“NHtml”是變量,是用來存要生成文本內(nèi)容的。如,從數(shù)據(jù)庫(kù)中讀取出來的數(shù)據(jù),賦到NHtml上。
建議是 你上傳文件 ,然后把文件的相關(guān)信息(比如文件名,文件存儲(chǔ)目錄,也就是地址),然后從數(shù)據(jù)庫(kù)提取出來。我建議你還是不要直接從文件提取,再生成。比較麻煩啊。
你能存進(jìn)數(shù)據(jù)庫(kù),說明你就能取數(shù)據(jù).將取出的數(shù)據(jù)進(jìn)行base64_decode,然后再根據(jù)文件格式發(fā)出一個(gè)http head,再直接echo出去.
如:一個(gè)jpg的圖片.經(jīng)過header后瀏覽器就會(huì)認(rèn)為那是一個(gè)圖片了.
//$db_img 這個(gè)是從數(shù)據(jù)庫(kù)取出的base64編碼格式的二進(jìn)制圖片數(shù)據(jù).
$img = base64_decode($db_img);
header("Content-type: image/jpg");
echo $img;
其他格式的文件類型就根據(jù)實(shí)際情況改header里面的Content-type
標(biāo)題名稱:php下載數(shù)據(jù) 下載php文件
本文URL:http://www.rwnh.cn/article32/doohepc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)站設(shè)計(jì)、網(wǎng)站營(yíng)銷、網(wǎng)站內(nèi)鏈、企業(yè)網(wǎng)站制作、網(wǎng)站設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)