西關(guān)大少
那么用Content-Disposition設(shè)置下載的文件名,這個(gè)也有不少人知道吧?;旧?,下載程序都是這么寫(xiě)的:這樣用瀏覽器打開(kāi)之后,就可以下載document.txt。但是,如果$filename是UTF-8編碼的,有些瀏覽器就無(wú)法正常處理了。比如把上面那個(gè)程序稍稍改一下:把程序保存成UTF-8編碼再訪問(wèn),IE6下載的文件名就會(huì)亂碼。 FF3下下載的文件名就只有“中文”兩個(gè)字。Opera 9下一切正常。輸出的header實(shí)際上是這樣子:Content-Disposition: attachment; filename=中文 文件名.txt其實(shí)按照RFC2231的定義,多語(yǔ)言編碼的Content-Disposition應(yīng)該這么定義:Content-Disposition: attachment; filename*=”utf8”%E4%B8%AD%E6%96%87%20%E6%96%87%E4%BB%B6%E5%90%8D.txt”即:filename后面的等號(hào)之前要加 *filename的值用單引號(hào)分成三段,分別是字符集(utf8)、語(yǔ)言(空)和urlencode過(guò)的文件名。最好加上雙引號(hào),否則文件名中空格后面的部分在Firefox中顯示不出來(lái)注意urlencode的結(jié)果與php的urlencode函數(shù)結(jié)果不太相同,php的urlencode會(huì)把空格替換成+,而這里需要替換成%20經(jīng)過(guò)試驗(yàn),發(fā)現(xiàn)幾種主流瀏覽器的支持情況如下:IE6 attachment; filename=””FF3 attachment; filename=”UTF-8文件名”attachment; filename*=”utf8””Safari3(Win) 貌似不支持?上述方法都不行這樣看來(lái),程序必須得這樣寫(xiě)才能支持所有主流瀏覽器:
回嗔作喜
您的php文件開(kāi)頭有沒(méi)有定義DOCTYPE???比如像這樣:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
長(zhǎng)夜島
不要用迅雷就可以了 迅雷彈出的時(shí)候點(diǎn)取消 用本身的那個(gè)下就是種子 ! 我也出現(xiàn)過(guò)像你說(shuō)的那樣情況!
孫洞玄
要想運(yùn)行PHP代碼,你得現(xiàn)有一個(gè)服務(wù)器環(huán)境。1. 在網(wǎng)上自己下載一個(gè)xampp,然后安裝。2. 把你的代碼放到xampp\htdocs\里面。3. 打開(kāi)瀏覽器,輸入127.0.0.1/文件名.php比如,你得文件有個(gè)叫index.php的,直接輸入127.0.0.1/index.php訪問(wèn),就開(kāi)始執(zhí)行了。4.建議在htdocs里面添加文件夾,防止混亂。5. 也可以將默認(rèn)的htdocs目錄更改到其他位置,這個(gè)網(wǎng)上介紹很多。
轉(zhuǎn)輪缽
把網(wǎng)址復(fù)制到下載工具里,比如迅雷,但是有可能會(huì)被解析?;蛘呤鞘褂镁W(wǎng)站下載器。.php是動(dòng)態(tài)服務(wù)器腳本文件,處理網(wǎng)站后臺(tái)事務(wù)。網(wǎng)站管理中通過(guò)通過(guò)ftp上傳和下載。
李暹
兩種方法:
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=文件名稱(chēng)");
echo fread($file,filesize('文件地址'));
fclose($file);
?>推薦第二種
因?yàn)榈谝环N方法只能下載瀏覽器不能解析的文件,比如rar啊,腳本文件之類(lèi)。如果文件是圖片或者txt文檔,就會(huì)直接在瀏覽器中打開(kāi)。
而第二種方法是直接輸出的文件流,不存在上述問(wèn)題。
你可以檢查一下你傳值過(guò)來(lái)的路徑是否正確,還有,流輸出后面不要再進(jìn)行任何操作了。
拓展資料:
集成開(kāi)發(fā)環(huán)境是一種集成了軟件開(kāi)發(fā)過(guò)程中所需主要工具的集成開(kāi)發(fā)環(huán)境,其功能包括但不僅限于代碼高亮、代碼補(bǔ)全、調(diào)試、構(gòu)建、版本控制等。一些常見(jiàn)的PHP IDEs如下:
Zend Studio:商業(yè)版,Zend官方出品,基于eclipse
Eclipse with PDT:免費(fèi)
Coda:商業(yè)版,針對(duì)Mac用戶(hù)
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è)版
除去集成開(kāi)發(fā)環(huán)境,具備代碼高亮功能的常見(jiàn)文本編輯器因其輕巧靈活也常被選作開(kāi)發(fā)工具,例如:Notepad++、Editplus、SublimeText、Everedit(國(guó)人開(kāi)發(fā))等等。
PHP的特性包括:
1. PHP 獨(dú)特的語(yǔ)法混合了 C、Java、Perl 以及 PHP 自創(chuàng)新的語(yǔ)法。
2. PHP可以比CGI或者Perl更快速的執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè)——?jiǎng)討B(tài)頁(yè)面方面,與其他的編程語(yǔ)言相比,
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
門(mén)徒
<html> <form enctype="multipart/form-data" action="" method="POST"> <input type="hidden" name="MAX_FILE_SIZE" value="6000000" /> <!--設(shè)置允許提交表單的最大字節(jié)數(shù)--> 文件上傳: <input name="file" type="file" /> <input type="submit" value="上傳"/> </form> </html> <? //處理程序 function extend($file_name) //定義獲取文件的擴(kuò)展名函數(shù) {$extend =explode("." , $file_name); $va=count($extend)-1; return strtolower($extend[$va]);} $dirname="../";//是否啟用上一層路徑,格式為:$dirname="../";或$dirname="../../";等等與$dir組合使用,注意不要溢出根路徑 $dir='upload/aa/bb';//設(shè)定上傳目錄,與上面的$dirname組合 $file=$_FILES['file'];//從文件域表單獲取文件 $filename=$file['name'] ;//獲取文件全名 $c_filesize=$file['size'] ;//獲取本地的文件大小 $extendname=extend($filename);//獲取文件擴(kuò)展名 if($c_filesize>200000000000)die("文件太大");//限制上傳文件大小, 單位字節(jié) //if($extendname!="jpg")die("只允許上傳JPG格式的圖片");//限制上傳文件格式,去掉語(yǔ)句開(kāi)頭的兩斜杠生效 if(!file_exists($dir));//檢查目錄文件夾是否存在,不存在則建立新文件夾 { $v=split ('[/.-]', $dir); for ( $i=0 ; $i <count($v) ; $i++) {$dirname=$dirname.$v[$i]; if(!file_exists($dirname))mkdir($dirname); $dirname=$dirname."/";} } //目錄創(chuàng)建完畢 ?> <? $dest=$dirname.date("YmdHis", time()).rand(100000,999999).".".$extendname; //設(shè)置文件名為日期加上從100000到999999的隨機(jī)數(shù)和擴(kuò)展名 if(file_exists($dest))die("該文件已經(jīng)存在"); if(move_uploaded_file($file['tmp_name'],$dest)) //調(diào)用文件上傳函數(shù) {$s_filesize=filesize($dest);//獲取服務(wù)器端的文件大小 echo "文件上傳成功,<a href=".$dest.">查看文件地址</a>"; echo "<br>本地文件名:".$filename; echo "<br>遠(yuǎn)端文件名:".$dest; echo "<br>大 小:".ceil($s_filesize/1024)." KB"; echo "<br>擴(kuò)展名:".$extendname; echo "<br>大 小:".$c_filesize." BYTE";} else {echo "還未進(jìn)行文件上傳";} ?>
運(yùn)仙傳
很多網(wǎng)站為了保密文件在服務(wù)器上的真實(shí)地址,都采用一個(gè)專(zhuān)門(mén)的頁(yè)面來(lái)處理下載鏈接,這個(gè)頁(yè)面就是你下載下來(lái)的那個(gè)php文件,有些迅雷可以解析的,但是有時(shí)候迅雷直接把這個(gè)php文件下載下來(lái)了,這時(shí)候,你只需在下載鏈接上點(diǎn)擊右鍵,選“在新窗口中打開(kāi)鏈接”或者“目標(biāo)另存為”等就可以下載了。 換句話就是不要用迅雷來(lái)下種子,用windows自帶的將種子文件下載下來(lái),再用迅雷打開(kāi)種子下。
沙見(jiàn)璧
php文件一樣可以用BT軟件打開(kāi)的,放心使用,沒(méi)問(wèn)題的。我以前也下過(guò)好多PHP的種子文件。 你是要讓你的裝了IIS的機(jī)器支持PHP呢還是只是單純的打開(kāi)*.php的文件? 如果是要支持PHP,那么你要裝專(zhuān)門(mén)的PHP解釋器。 首先你去下載php-4.3.4-Win32.zip。 下面為配置步驟: 1)將php-4.3.3RC4-Win32.zip里面的所有文件和文件夾解壓縮并放置在C:\\php4\\文件夾中,沒(méi)有自己創(chuàng)建該文件夾 2)進(jìn)入php4文件夾,查看根目錄和子目錄,把所有.dll文件都統(tǒng)統(tǒng)復(fù)制粘貼到C:\\WINNT\\system32(WIN2K)或C:\\WINDOWS\\system32(WINXP)中 3)把php4文件夾里面的php.ini-dist和php.exe文件復(fù)制到 C:\\WINNT\\(WIN2K)或C:\\WINDOWS\\(WINXP)中,并將php.ini-dist文件改為php.ini 4)雙擊php.ini打開(kāi)該配置文件,進(jìn)行下面3個(gè)地方的修改: 1> 把extension_dir = "C:\\php4\\extensions" 改為你安裝php4的 extensions文件夾路徑 2> 把 ;cgi.force_redirect = 1 改為 cgi.force_redirect = 0 3> 把 register_globals = Off 改為 register_globals = On 4> 找到 ;Windows Extensions 段,你應(yīng)該可以看到如下代碼 ; ;extension=php_bz2.dll ;extension=php_cpdf.dll ;extension=php_crack.dll ;extension=php_curl.dll ;extension=php_db.dll ;extension=php_dba.dll ;extension=php_dbase.dll ;extension=php_dbx.dll ;extension=php_domxml.dll ;extension=php_exif.dll ;extension=php_fdf.dll ;extension=php_filepro.dll ;extension=php_gd2.dll ;extension=php_gettext.dll ;extension=php_hyperwave.dll ;extension=php_iconv.dll ;extension=php_ifx.dll ;extension=php_iisfunc.dll ;extension=php_imap.dll ;extension=php_interbase.dll ;extension=php_java.dll ;extension=php_ldap.dll ;extension=php_mbstring.dll ;extension=php_mcrypt.dll ;extension=php_mhash.dll ;extension=php_mime_magic.dll ;extension=php_ming.dll ;extension=php_mssql.dll ;extension=php_msql.dll ;extension=php_oci8.dll ;extension=php_openssl.dll ;extension=php_oracle.dll ;extension=php_pdf.dll ;extension=php_pgsql.dll ;extension=php_printer.dll ;extension=php_shmop.dll ;extension=php_snmp.dll ;extension=php_sockets.dll ;extension=php_sybase_ct.dll ;extension=php_w32api.dll ;extension=php_xmlrpc.dll ;extension=php_xslt.dll ;extension=php_yaz.dll ;extension=php_zip.dll 具體還得看你需要加載哪些.dll文件,不過(guò)你按照下面我這樣改也行,主要是要加載的.dll文件就去掉前面的分號(hào)( ; ) : ; ;extension=php_bz2.dll ;extension=php_cpdf.dll ;extension=php_crack.dll ;extension=php_curl.dll ;extension=php_db.dll ;extension=php_dba.dll ;extension=php_dbase.dll ;extension=php_dbx.dll ;extension=php_domxml.dll extension=php_exif.dll ;extension=php_fdf.dll ;extension=php_filepro.dll extension=php_gd2.dll ;extension=php_gettext.dll ;extension=php_hyperwave.dll ;extension=php_iconv.dll ;extension=php_ifx.dll ;extension=php_iisfunc.dll extension=php_imap.dll ;extension=php_interbase.dll ;extension=php_java.dll ;extension=php_ldap.dll ;extension=php_mbstring.dll ;extension=php_mcrypt.dll ;extension=php_mhash.dll ;extension=php_mime_magic.dll ;extension=php_ming.dll ;extension=php_mssql.dll ;extension=php_msql.dll ;extension=php_oci8.dll ;extension=php_openssl.dll ;extension=php_oracle.dll ;extension=php_pdf.dll ;extension=php_pgsql.dll ;extension=php_printer.dll ;extension=php_shmop.dll ;extension=php_snmp.dll ;extension=php_sockets.dll ;extension=php_sybase_ct.dll ;extension=php_w32api.dll ;extension=php_xmlrpc.dll ;extension=php_xslt.dll ;extension=php_yaz.dll ;extension=php_zip.dll 5)再次打開(kāi)控制面板-管理工具-Internet服務(wù)管理器,在"默認(rèn)web站點(diǎn)"上右鍵單擊,選擇"屬性" 6)選中"默認(rèn) Web 站點(diǎn) 屬性"窗口的"主目錄"選項(xiàng)卡,點(diǎn)擊右下角的"配置"按鈕,出現(xiàn)"應(yīng)用程序配置"窗口,點(diǎn)擊"應(yīng)用程序映射"下面的"添加"按鈕,添加下面的程序映射: 可執(zhí)行文件: C:\\php4\\php.exe %s %s (也就是你的php4文件夾路徑) 擴(kuò)展名: .php 確定完成配置! 7)切換到"默認(rèn) Web 站點(diǎn) 屬性"窗口的"ISAPI篩選器"選項(xiàng)卡,點(diǎn)擊右邊的"添加"按鈕,添加下面的一個(gè)篩選器: 篩選器名稱(chēng): PHP 可執(zhí)行文件: C:\\php4\\sapi\\php4isapi.dll (也就是你的php4文件夾的 sapi文件夾路徑) 確定后關(guān)閉"Internet服務(wù)管理器" 8)繼續(xù)切換到"默認(rèn) Web 站點(diǎn) 屬性"窗口的"文檔"選項(xiàng)卡,點(diǎn)擊右邊的"添加"按鈕,添加如下"啟用默認(rèn)文檔": index.php 也可以添加 index.php3 index.php4 等等 看你的需要而定 點(diǎn)擊左邊的"↑"按鈕,把index.php文檔提升到最上面 現(xiàn)在你的IIS也支持PHP了. PHP 是一種新型的 CGI 程序編寫(xiě)語(yǔ)言.應(yīng)該說(shuō)是個(gè)嵌入式腳本文件。和ASP、JSP有很多類(lèi)似的功能。唯一不同的是,ASP要整站的解釋在傳遞,而PHP則可以嵌入HTML代碼里,和HTML一起發(fā)送。要讀.PHP文件就要用PHP解釋器?,F(xiàn)在用的是PHP V4.3.0有支持Windows和 Unix/Linux的版本。當(dāng)然你還要在自己機(jī)子上虛擬主機(jī),可以用很出名的Apache軟件。 .php可以用文本編輯器(如記事本、emeditor、phpedit等)打開(kāi)。如果要運(yùn)行它得安裝相應(yīng)的php解釋器和web服務(wù)支持才行。