php文件mime
㈠ php格式文件怎麼打開
你是要讓你的裝了IIS的機器支持PHP呢還是只是單純的打開*.php的文件?
如果是要支持PHP,那麼你要裝專門的PHP解釋器。
首先你去下載php-4.3.4-Win32.zip。
下面為配置步驟:
1)將php-4.3.3RC4-Win32.zip裡面的所有文件和文件夾解壓縮並放置在C:\\php4\\文件夾中,沒有自己創建該文件夾
2)進入php4文件夾,查看根目錄和子目錄,把所有.dll文件都統統復制粘貼到C:\\WINNT\\system32(WIN2K)或C:\\WINDOWS\\system32(WINXP)中
3)把php4文件夾裡面的php.ini-dist和php.exe文件復制到
C:\\WINNT\\(WIN2K)或C:\\WINDOWS\\(WINXP)中,並將php.ini-dist文件改為php.ini
4)雙擊php.ini打開該配置文件,進行下面3個地方的修改:
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 段,你應該可以看到如下代碼
;
;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文件,不過你按照下面我這樣改也行,主要是要載入的.dll文件就去掉前面的分號( ; ) :
;
;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)再次打開控制面板-管理工具-Internet服務管理器,在"默認web站點"上右鍵單擊,選擇"屬性"
6)選中"默認 Web 站點 屬性"窗口的"主目錄"選項卡,點擊右下角的"配置"按鈕,出現"應用程序配置"窗口,點擊"應用程序映射"下面的"添加"按鈕,添加下面的程序映射:
可執行文件: C:\\php4\\php.exe %s %s (也就是你的php4文件夾路徑)
擴展名: .php
確定完成配置!
7)切換到"默認 Web 站點 屬性"窗口的"ISAPI篩選器"選項卡,點擊右邊的"添加"按鈕,添加下面的一個篩選器:
篩選器名稱: PHP
可執行文件: C:\\php4\\sapi\\php4isapi.dll (也就是你的php4文件夾的 sapi文件夾路徑)
確定後關閉"Internet服務管理器"
8)繼續切換到"默認 Web 站點 屬性"窗口的"文檔"選項卡,點擊右邊的"添加"按鈕,添加如下"啟用默認文檔":
index.php 也可以添加 index.php3 index.php4 等等 看你的需要而定
點擊左邊的"↑"按鈕,把index.php文檔提升到最上面
現在你的IIS也支持PHP了.
㈡ PHP中配置mime類型是在哪個文件
假設現在有一個後綴是txt1的文件
如果直接在瀏覽器上打開會出現下圖的結果
接下來要做的就是把txt1加入到mime中,先點開windows圖標
在搜索框中輸入IIS,然後選擇Internet信息服務 (IIS)管理器
點擊「MIME類型」
點擊「添加」
加入相關後綴的MIME類型
然後再在瀏覽器中看剛才加入的那個後綴類型的文件,沒問題了!
㈢ php獲取文件mime類型的幾種方法
php獲取文件mime類型有以下幾種方法:
1、mime_content_type()函數判斷獲取mime類型
mime_content_type返回指定文件的MIME類型,
用法:
echomime_content_type('php.gif') ."\n";
echomime_content_type('test.php');
輸出:
image/gif
text/plain
但是php 5.3.0已經將該函數廢棄。如果仍想使用此函數,那麼可以對php進行配置啟用magic_mime擴展。
2、php Fileinfo 獲取文件MIME類型(finfo_open)
PHP官方推薦mime_content_type()的替代函數是Fileinfo函數。PHP
5.3.0+已經默認支持Fileinfo函數(fileinfo
support-enabled),不必進行任何配置即可使用finfo_open()判斷獲取文件MIME類型。
用法:
$finfo = finfo_open(FILEINFO_MIME);
$mimetype = finfo_file($finfo, $filename);
finfo_close($finfo);
3、image_type_to_mime_type()獲取圖片MIME類型
如果需要判斷MIME類型的文件只有圖像文件,那麼首先可以使用exif_imagetype()函數獲取圖像類型常量,再用image_type_to_mime_type()函數將圖像類型常量轉換成圖片文件的MIME類型。
注意:需要在php.ini中配置打開php_mbstring.dll(Windows需要)和extension=php_exif.dll。
4、php上傳文件獲取MIME類型
如果使用php上傳文件,檢測上傳文件的MIME類型,則可以使用全局變數$_FILES['uploadfile']['type'],由客戶端的瀏覽器檢測獲取文件MIME類型。
㈣ php文件上傳RAR的mime類型
首先要建立一個文件夾和兩個文件,具體如下:
File ——————文件夾,用於存放上傳的文件。
choose.htm ——————htm文件,用於選擇上傳的文件。
upload.php ——————php文件,用於處理上傳的文件。
第一步:建立 File 文件夾。
第二步:建立 choose.htm 文件,代碼如下:
____________________________________________________________________________________________________________
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FLIE_SIZE" value="1000000" />
上傳此文件:
<input name="userfile" type="file" id="userfile" />
<input type="submit" name="Submit" value="上傳" />
</form>
____________________________________________________________________________________________________________
第三步:建立 upload.php 文件,代碼如下:
____________________________________________________________________________________________________________
<?php
//上傳文件錯誤判定
if($_FILES['userfile']['error']>0)
{
echo '錯誤:';
switch($_FILES['userfile']['error'])
{
case 1: echo '文件尺寸超過允許的最大上傳限度!'; break;
case 2: echo '文件尺寸超過允許的最大上傳限度!'; break;
case 3: echo '只有部分文件被上傳!'; break;
case 4: echo '沒有任何文件被上傳!'; break;
}
exit;
}
//上傳文件格式判定
if($_FILES['userfile']['type'] !='text/plain')
{
echo '錯誤:非法文件格式!';
exit;
}
//設置文件保存路徑
$upfile = './File/' . $_FILES['userfile']['name'];
if(is_uploaded_file($_FILES['userfile']['tmp_name']))
{
if(!move_uploaded_file($_FILES['userfile']['tmp_name'],$upfile))
{
echo '錯誤:沒有將文件移動到指定目錄!';
exit;
}
}
else
{
echo '錯誤:可能文件上傳被攻擊!文件名:';
echo $_FILES['userfile']['name'];
}
echo '文件上傳成功!';
//格式化上傳的文件
$fp = fopen($upfile,'r');
$contents = fread($fp,filesize($upfile));
fclose($fp);
$contents = strip_tags($contents);
$fp = fopen($upfile,'w');
fwrite($fp,$contents);
fclose($fp);
//顯示上傳文件內容
echo '上傳文件的內容為:';
echo $contents;
?>
____________________________________________________________________________________________________________
測試一下:
1、建立一個 123.txt 文件,裡面輸入一些純文本字元,比如 abc,上傳成功!
2、我們再來試看其他後綴名,如.exe,.php,.htm之類的,只要非txt,就將導致失敗!
3、把任意一個大於1M的文件名改為123.txt並上傳,我們將發現超過限制大小的文件將導致上傳失敗!
4、將123.txt的內容改掉,刪除所有內容,輸入 <html>HTML code</html>,保存並上傳,我們會發現上傳失敗!
5、將123.txt的內容改掉,刪除所有內容,輸入 <?php echo'PHP code'; ?>保存並上傳,我們會發現 File 文件夾中有一個0位元組的,沒有任何內容的123.txt文件!