田丁丁
先將那個(gè)連接地址另存為,當(dāng)變成.t***的后綴時(shí)才行,如果下下來是個(gè).php文件,打開看下如果是亂碼或者里面亂七八糟的,就直接改成種子文件后綴.t****,然后用迅雷打開
念切蒸嘗
不要用迅雷,用Chrome自帶的
chrome自帶太慢啊,就沒有別的辦法嗎
沒有辦法的,從技術(shù)角度來說,通過PHP輸出的是文件流,迅雷是不可以下載的。
賴小
這個(gè)要利用javascript技巧才行,單獨(dú)的PHP是無法實(shí)現(xiàn)的,經(jīng)過我的測試,下面的代碼可以實(shí)現(xiàn)同時(shí)下載多個(gè)文件:<script language=javascript>var urls=new Array('result.xls','201110x.rar','a.exe');for (i in urls) document.write('<a id="d'+i+'" href="'+urls[i]+'" target=_blank>x</a>');for (i in urls) document.getElementById('d'+i).click();</script>你PHP程序輸出這樣的代碼就可以,主要是用for循環(huán)生成第二行urls數(shù)組的定義。
那這樣就是循環(huán)產(chǎn)生新地址再每次彈出一個(gè)下載對話框?我想能不能在一個(gè)對話框中下載?
一個(gè)對話框中點(diǎn)了保存就下載多個(gè)文件呀,可能不現(xiàn)實(shí)吧,除非用戶使用你修改過的專門瀏覽器。
云南
提示下載說明沒有配置PHP環(huán)境,所以localhost打開,無法解析語言,就認(rèn)為是個(gè)普通的文件下載;配置本地環(huán)境,推薦使用PHPstudy一鍵配置,包含本地MySQL數(shù)據(jù)庫,以及管理工具;此時(shí)由于你本地已經(jīng)有了虛擬主機(jī)的環(huán)境,如果使用phpstudy,避免發(fā)生環(huán)境端口沖突,所以建議先卸載本地的已搭建好的虛擬機(jī)環(huán)境,然后再一鍵安裝phpstudy。
巨魁
php下載文件的流程: 我們向?yàn)g覽器發(fā)送一個(gè)請求,訪問服務(wù)器中的某個(gè)網(wǎng)頁(如:download.php),服務(wù)器接受到該請求以后,運(yùn)行該php文件 ,運(yùn)行中就會(huì)把希望下載的文件(aa.rar)讀入內(nèi)存,但是如果文件較大,就要準(zhǔn)備分成多段返回給客戶端的(這樣最可靠)。 需要在php代碼中設(shè)置一次讀取的字節(jié)數(shù),比如在下面的代碼中通過$buffer=1024設(shè)置一次讀取的字節(jié)數(shù),每讀取一次,就輸出數(shù)據(jù)(即返回給瀏覽器)如下:下載文件用的php文件,和放在同一個(gè)目錄的下載文件aa.rardownload.php代碼和解釋<?php$file_name="aa.rar";//需要下載的文件$file_name=iconv("utf-8","gb2312","$file_name");$fp=fopen($file_name,"r+");//下載文件必須先要將文件打開,寫入內(nèi)存if(!file_exists($file_name)){//判斷文件是否存在 echo "文件不存在"; //如果不存在 exit(); //直接退出} //如果存在,繼續(xù)執(zhí)行下載$file_size=filesize("aa.rar");//判斷文件大小//返回的文件Header("Content-type: application/octet-stream");//按照字節(jié)格式返回Header("Accept-Ranges: bytes");//返回文件大小Header("Accept-Length: ".$file_size);//彈出客戶端對話框,對應(yīng)的文件名Header("Content-Disposition: attachment; filename=".$file_name);//防止服務(wù)器瞬時(shí)壓力增大,分段讀取$buffer=1024;while(!feof($fp)){ $file_data=fread($fp,$buffer); echo $file_data;}//關(guān)閉文件fclose($fp);?>
簡單愛
瀏覽器不支持php格式,請升級或換用其它瀏覽器PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本預(yù)處理器”)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點(diǎn),利于學(xué)習(xí),使用廣泛,主要適用于Web開發(fā)領(lǐng)域。PHP 獨(dú)特的語法混合了C、Java、Perl以及PHP自創(chuàng)的語法。它可以比CGI或者Perl更快速地執(zhí)行動(dòng)態(tài)網(wǎng)頁。用PHP做出的動(dòng)態(tài)頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個(gè)應(yīng)用)文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多;PHP還可以執(zhí)行編譯后代碼,編譯可以達(dá)到加密和優(yōu)化代碼運(yùn)行,使代碼運(yùn)行更快。
夏侯威
很明顯你配置的php有問題,檢查你的httpd.conf當(dāng)中是否有以下幾行LoadModule php5_module d:\php5\php5_apache2.dll 或LoadModule php5_module /usr/libexec/apache2/php5.so根據(jù)你的平臺而定,實(shí)際路徑也因環(huán)境而異AddType application/x-httpd-php .phpDirectoryIndex index.php
王連
原因是少設(shè)置了一段文字。
具體分析如下:
apche 文件類型沒有設(shè)置<FilesMatch "\.php$">SetHandler application/x-httpd-php</FilesMatch><FilesMatch "\.phps$">SetHandler application/x-httpd-php-source</FilesMatch>記得把PHP的也得加載進(jìn)去。
把類型的加到 httpd.conf 中去。LoadModule php5_module c:/modules/php5apache2_2.dll 也要加到你的httpd.conf 中去,至于這個(gè)模塊的路徑就只有你自已才知道 了。然后重啟你的apache。
在apache的配置文件httpd.conf中最后面加入以下幾行.LoadModule php5_module modules/php5apache2_2.dllAddType application/x-httpd-php .phpAddType application/x-httpd-source .phps把php文件夾下的php5apache2_2.dll(注意你的apache版本對應(yīng)的文件名。如果你的不是2.2版本,復(fù)制對應(yīng)版本的dll.同時(shí)改上面的文件名)。復(fù)制到apache的安裝目錄的Apache2.2\modules\下面。
霞煮云蒸
// 下載文件 文件用絕對路徑 ob_clean(); header('Pragma: public'); header('Last-Modified:'.gmdate('D, d M Y H:i:s') . 'GMT'); header('Cache-Control:no-store, no-cache, must-revalidate'); header('Cache-Control:pre-check=0, post-check=0, max-age=0'); header('Content-Transfer-Encoding:binary'); header('Content-Encoding:none'); header('Content-type:multipart/form-data'); header('Content-Disposition:attachment; filename="'.$filename.'"'); //設(shè)置下載的默認(rèn)文件名 header('Content-length:'. filesize($dfile)); //要下載的文件 $fp = fopen($dfile, 'r'); while(connection_status() == 0 && $buf = @fread($fp, 8192)){ echo $buf; } fclose($fp); @unlink($dfile); @flush(); @ob_flush(); exit();