天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

PHP中,文件上傳

php中,文件上傳一般是通過move_uploaded_file()來實現的。 
bool move_uploaded_file ( string filename, string destination )本函數檢查并確保由 filename 指定的文件是合法的上傳文件(即通過 php 的 HTTP POST 上傳機制所上傳的)。如果文件合法,則將其移動為由 destination 指定的文件。  

如果 filename 不是合法的上傳文件,不會出現任何操作,move_uploaded_file() 將返回 FALSE。  

如果 filename 是合法的上傳文件,但出于某些原因無法移動,不會出現任何操作,move_uploaded_file() 將返回 FALSE。此外還會發出一條警告。 

下面我們通過一個實例來說明php是如何實現文件上傳的。 
test.php 的原文件 
復制代碼 代碼如下:<html>  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">  
<title>網站文件上傳實例</title>  
<!--  
-->  
</head>  
<body>  
<form enctype="multipart/form-data" action=action.php method=post>   
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">  
<input type=file name=upfile size=20>  
<input type=submit value='上傳文件'>   
</form>   
</body>  
</html>  
MAX_FILE_SIZE 隱藏字段(單位為字節)必須放在文件輸入字段之前,其值為接收文件的最大尺寸。這是對瀏覽器的一個建議,php 也會檢查此項。在瀏覽器端可以簡單繞過此設置,因此不要指望用此特性來阻擋大文件。實際上,php 設置中的上傳文件最大值是不會失效的。但是最好還是在表單中加上此項目,因為它可以避免用戶在花時間等待上傳大文件之后才發現文件過大上傳失敗的麻煩。 

注: 要確保文件上傳表單的屬性是 enctype="multipart/form-data",否則文件將無法上傳。 

在處理上傳頁面中,上傳文件的信息是通過數組 $_FILES 來獲取的。我們假設文件上傳字段的名稱如上例所示,為 "upfile",則文件信息為: 

$_FILES['upfile']['name'] 

上傳文件的原文件名。 

$_FILES['upfile']['type'] 

文件的 MIME 類型,如果瀏覽器提供此信息的話。一個例子是“image/gif”。不過此 MIME 類型在 php 端并不檢查,因此不要想當然認為有這個值。 

$_FILES['upfile']['size'] 

上傳文件的大小,單位為字節。 

$_FILES['upfile']['tmp_name'] 

文件上傳后在服務端儲存的臨時文件名。 

$_FILES['upfile']['error'] 

和該文件上傳相關的錯誤代碼。 

php 將隨文件信息數組一起返回一個對應的錯誤代碼。該代碼可以在文件上傳時生成的文件數組中的 error 字段中被找到。代碼如下: 

UPLOAD_ERR_OK 

其值為 0,文件上傳成功。  

UPLOAD_ERR_INI_SIZE 

其值為 1,上傳的文件超過了 php.ini 中 upload_max_filesize 選項限制的值 ,默認值為2M。 如果要想上傳更大的,我們可以在php.ini里查找 upload_max_filesize = 2M 修改后即可生效。 

UPLOAD_ERR_FORM_SIZE 

其值為 2,上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值。 

UPLOAD_ERR_PARTIAL 

其值為 3,文件上傳不完全,只有部分被上傳。  

UPLOAD_ERR_NO_FILE 

其值為 4,文件上傳失敗。 

UPLOAD_ERR_NO_TMP_DIR 

其值為 6,找不到臨時文件夾。php 4.3.10 和 php 5.0.3 引進。 

UPLOAD_ERR_CANT_WRITE 

其值為 7,文件寫入失敗。php 5.1.0 引進。 

注: 以上值在 php 4.3.0 之后變成了 php 常量。 
action.php 的原代碼 
<? 
/** 
歡迎光臨我們來我站交流學習經驗  

*/ 

function getname($exname){ 
   $dir = "tmp/"; 
   $i=1; 
   if(!is_dir($dir)){ 
      mkdir($dir,0777); 
   } 

   while(true){ 
     if(!is_file($dir.$i.".".$exname)){ 
        $name=$i.".".$exname; 
        break; 
      } 
     $i++; 
   } 

   return $dir.$name; 


$exname=strtolower(substr($_FILES['upfile']['name'],(strrpos($_FILES['upfile']['name'],'.')+1))); 
$uploadfile = getname($exname);  

if (move_uploaded_file($_FILES['upfile']['tmp_name'], $uploadfile)) { 
   echo "<h2><font color=#ff0000>文件上傳成功!</font></h2><br><br>"; 
}else { 
   echo "<h2><font color=#ff0000>文件上傳失敗!</font></h2><br><br>"; 

echo "下面是文件上傳的一些信息: 
    <br><br>原文件名:".$_FILES['upfile']['name'] . 
    "<br><br>類型:" .$_FILES['upfile']['type'] . 
    "<br><br>臨時文件名:".$_FILES['upfile']['tmp_name']. 
    "<br><br>文件大?。?.$_FILES['upfile']['size'] . 
    "<br><br>錯誤代碼:".$_FILES['upfile']['error']; 
?>  

一定要確保上傳后文件所在的文件夾的權限至為 777 ,這點在服務器上體現的特別明顯,有時我們編寫的上傳代碼沒有任何的錯誤,然而在網上卻無法實現上傳功能,原因就在這里。 

本文只是講了如何通過php來實現文件上傳的,沒看過這部分的朋友可以參考一下。

php技術PHP中,文件上傳,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 桃花在线观看播放 | 蜜芽最新域名解析网站 | 超碰97人人做人人爱网站 | 久久中文字幕无线观看 | 欧美性动漫3d在线观看完整版 | 与邻居换娶妻子2在线观看 瑜伽牲交AV | 天美传媒MV高清免费看 | 十九岁在线观看免费完整版电影 | 墨西哥美女主播 | 无修肉动漫在线观看影片 | 欧美hdxxxx| 性绞姿始动作动态图 | 99在线精品国自产拍不卡 | 亚洲精品视频免费观看 | 国内视频在线精品一区 | 被强J高H纯肉公交车啊 | 囯产愉拍亚洲精品一区 | 久久re热在线视频精99 | WWW国产亚洲精品久久久日本 | www色视频在线观看 WWW色视频片内射 | 成人在线免费视频观看 | 亚洲人成影院在线播放 | 羞羞影院男女爽爽影院尤物 | 精品亚洲视频在线观看 | 国产亚洲日韩另类在线播放 | 色戒无删减流畅完整版 | 116美女写真午夜电影z | 芭乐草莓樱桃丝瓜18岁大全 | 伦理79电影网在线观看 | 亚洲精品乱码久久久久久v 亚洲精品乱码电影在线观看 | adc年龄确认大驾光临入口 | 久久re这里视频只精品首页 | 久久日本精品在线热 | 久久久久综合网久久 | 国产人妻精品午夜福利免费不卡 | 国内精品久久影视免费 | 九九热在线视频观看这里只有精品 | 九九国产精品成人AV麻豆 | 久久人妻无码毛片A片麻豆 久久人妻熟女中文字幕AV蜜芽 | 伦理片2499电影伦理片 | 果冻传媒完整免费网站在线观看 |