一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

PHP中,文件上傳

php中,文件上傳一般是通過(guò)move_uploaded_file()來(lái)實(shí)現(xiàn)的。 
bool move_uploaded_file ( string filename, string destination )本函數(shù)檢查并確保由 filename 指定的文件是合法的上傳文件(即通過(guò) php 的 HTTP POST 上傳機(jī)制所上傳的)。如果文件合法,則將其移動(dòng)為由 destination 指定的文件。  

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

如果 filename 是合法的上傳文件,但出于某些原因無(wú)法移動(dòng),不會(huì)出現(xiàn)任何操作,move_uploaded_file() 將返回 FALSE。此外還會(huì)發(fā)出一條警告。 

下面我們通過(guò)一個(gè)實(shí)例來(lái)說(shuō)明php是如何實(shí)現(xiàn)文件上傳的。 
test.php 的原文件 
復(fù)制代碼 代碼如下:<html>  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">  
<title>網(wǎng)站文件上傳實(shí)例</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 隱藏字段(單位為字節(jié))必須放在文件輸入字段之前,其值為接收文件的最大尺寸。這是對(duì)瀏覽器的一個(gè)建議,php 也會(huì)檢查此項(xiàng)。在瀏覽器端可以簡(jiǎn)單繞過(guò)此設(shè)置,因此不要指望用此特性來(lái)阻擋大文件。實(shí)際上,php 設(shè)置中的上傳文件最大值是不會(huì)失效的。但是最好還是在表單中加上此項(xiàng)目,因?yàn)樗梢员苊庥脩粼诨〞r(shí)間等待上傳大文件之后才發(fā)現(xiàn)文件過(guò)大上傳失敗的麻煩。 

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

在處理上傳頁(yè)面中,上傳文件的信息是通過(guò)數(shù)組 $_FILES 來(lái)獲取的。我們假設(shè)文件上傳字段的名稱如上例所示,為 "upfile",則文件信息為: 

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

上傳文件的原文件名。 

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

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

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

上傳文件的大小,單位為字節(jié)。 

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

文件上傳后在服務(wù)端儲(chǔ)存的臨時(shí)文件名。 

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

和該文件上傳相關(guān)的錯(cuò)誤代碼。 

php 將隨文件信息數(shù)組一起返回一個(gè)對(duì)應(yīng)的錯(cuò)誤代碼。該代碼可以在文件上傳時(shí)生成的文件數(shù)組中的 error 字段中被找到。代碼如下: 

UPLOAD_ERR_OK 

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

UPLOAD_ERR_INI_SIZE 

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

UPLOAD_ERR_FORM_SIZE 

其值為 2,上傳文件的大小超過(guò)了 HTML 表單中 MAX_FILE_SIZE 選項(xiàng)指定的值。 

UPLOAD_ERR_PARTIAL 

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

UPLOAD_ERR_NO_FILE 

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

UPLOAD_ERR_NO_TMP_DIR 

其值為 6,找不到臨時(shí)文件夾。php 4.3.10 和 php 5.0.3 引進(jìn)。 

UPLOAD_ERR_CANT_WRITE 

其值為 7,文件寫入失敗。php 5.1.0 引進(jìn)。 

注: 以上值在 php 4.3.0 之后變成了 php 常量。 
action.php 的原代碼 
<? 
/** 
歡迎光臨我們來(lái)我站交流學(xué)習(xí)經(jīng)驗(yàn)  

*/ 

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>臨時(shí)文件名:".$_FILES['upfile']['tmp_name']. 
    "<br><br>文件大小:".$_FILES['upfile']['size'] . 
    "<br><br>錯(cuò)誤代碼:".$_FILES['upfile']['error']; 
?>  

一定要確保上傳后文件所在的文件夾的權(quán)限至為 777 ,這點(diǎn)在服務(wù)器上體現(xiàn)的特別明顯,有時(shí)我們編寫的上傳代碼沒(méi)有任何的錯(cuò)誤,然而在網(wǎng)上卻無(wú)法實(shí)現(xiàn)上傳功能,原因就在這里。 

本文只是講了如何通過(guò)php來(lái)實(shí)現(xiàn)文件上傳的,沒(méi)看過(guò)這部分的朋友可以參考一下。

php技術(shù)PHP中,文件上傳,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 精品久久久久久影院免费 | 日韩精品一区二区三区视频网 | 欧美又黄又嫩大片a级 | 精品免费一区二区三区 | 99热成人精品国产免国语的 | 日本精品久久久久护士 | 国产一区二区三区在线视频 | 色 在线播放 | 国产在线观看麻豆91精品免费 | 亚州激情 | 欧美三级免费观看 | 麻豆a| 八月丁香婷婷 | 久久久久国产免费 | 男女精品视频 | 国产吧在线视频 | 美女的胸又黄又www网站免费 | 久久久精品2021免费观看 | 怡红院亚洲红怡院在线观看 | 色视频免费在线观看 | 国产在线一区二区三区四区 | 国产成人悠悠影院 | 91华人在线视频 | 国产swag在线观看 | 成人午夜小视频 | 国产精品网站在线进入 | 午夜精品在线免费观看 | 四川农村女人一级毛片 | 2021国产情侣真实露脸在线 | 中文字幕av在线 | 成人小视频在线观看 | 欧美成人二区 | 91精品导航在线观看 | 黄色视视频| 亚洲成人综合网站 | 精品视频午夜一区二区 | 六月丁香婷婷激情国产 | 国产一区系列在线观看 | 成人精品视频一区二区在线 | 亚洲综合色一区二区三区另类 | 亚洲第一区视频在线观看 |