亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

PHP圖片上傳實例分析

2024-09-04 11:45:08
字體:
來源:轉載
供稿:網友

圖片上傳與文件上傳在php中都是一樣直接使用move_uploaded_file($_FILES["filename"]["tmp_name"]就可以實現了,下面我來給大家分享一個站長分享文件上傳例子.

前期需要了解的知識點:

move_uploaded_file()文件上傳函數,代碼如下:

  1. if(move_uploaded_file($_FILES["filename"]["tmp_name"]) 
  2. echo '文件上傳成功'

$_FILES php全局變量

$_FILES:經由 HTTP POST 文件上傳而提交至腳本的變量,類似于舊數組 $HTTP_POST_FILES 數組,依然有效,但反對使用,代碼如下:

$_FILES['myFile']['name']   客戶端文件的原名稱。

$_FILES['myFile']['type']   文件的 MIME 類型,需要瀏覽器提供該信息的支持,例如"image/gif"。

$_FILES['myFile']['size']   已上傳文件的大小,單位為字節。

$_FILES['myFile']['tmp_name']   文件被上傳后在服務端儲存的臨時文件名,一般是系統默認。可以在php.ini的upload_tmp_dir 指定,但用 putenv() 函數設置是不起作用的。

$_FILES['myFile']['error']   和該文件上傳相關的錯誤代碼。['error'] 是在 PHP 4.2.0 版本中增加的。下面是它的說明:(它們在PHP3.0以后成了常量)

UPLOAD_ERR_OK      值:0; 沒有錯誤發生,文件上傳成功。

UPLOAD_ERR_INI_SIZE      值:1; 上傳的文件超過了 php.ini 中 upload_max_filesize 選項限制的值。

UPLOAD_ERR_FORM_SIZE  值:2; 上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值。

UPLOAD_ERR_PARTIAL   值:3; 文件只有部分被上傳。

UPLOAD_ERR_NO_FILE   值:4; 沒有文件被上傳。    值:5; 上傳文件大小為0.

核心文件,upimg.htm,代碼如下:

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
  2. "http://www.w3.org/TR/html4/loose.dtd"
  3. <html> 
  4. <head> 
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"
  6. <title>上傳圖片</title> 
  7.  <script language="javascript"
  8.     function $(id){ 
  9.      return document.getElementById(id); 
  10.     } 
  11.     function ok(){ 
  12.  $("logoimg").src = $("filename").value; 
  13.     } 
  14. </script> 
  15. </head> 
  16. <body> 
  17. <table border="0" align="center" cellpadding="0" cellspacing="0">  
  18.   <tr>  
  19.     <td height="45" align="center" valign="middle"
  20.   <form action="uploadf.php?submit=1" method="post" enctype="multipart/form-data" name="form1"> 請選擇上傳的圖片  
  21.    <input type="file" name="filename" id="filename" onchange="ok()">  
  22.    <!-- MAX_FILE_SIZE must precede the file input field --> 
  23.    <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> 
  24.    <input type="submit" name="Submit" value="上傳">  
  25.   </form> 
  26.  </td>  
  27.   </tr>  
  28. </table>  
  29. <font color="red">注意:請上傳120*45像素的GIF或者jpg格式的logo圖片</font><br/> 
  30. logo預覽:<img id="logoimg" src="images/bg-02.gif"/> 
  31. </body> 
  32. </html> 
  33. uploadf.php 
  34. <?php  
  35. if(!emptyempty($_GET[submit]))  
  36. {  
  37.  $path="uploadfiles/pic/"//上傳路徑  
  38.  //echo $_FILES["filename"]["type"]; 
  39.  if(!file_exists($path))  
  40.  {  
  41.   //檢查是否有該文件夾,如果沒有就創建,并給予最高權限  
  42.   mkdir("$path", 0700);  
  43.  }//END IF  
  44.  
  45.  //允許上傳的文件格式  
  46.  $tp = array("image/gif","image/pjpeg","image/png");  
  47.  //檢查上傳文件是否在允許上傳的類型  
  48.  
  49.  if(!in_array($_FILES["filename"]["type"],$tp))  
  50.  {  
  51.   echo "格式不對";  
  52.   exit;  
  53.  }//END IF  
  54.  
  55.  if($_FILES["filename"]["name"])  
  56.  {  
  57.   $file1=$_FILES["filename"]["name"];  
  58.   $file2 = $path.time().$file1;  
  59.   $flag=1;  
  60.  }//END IF  
  61.  
  62.  if($flag$result=move_uploaded_file($_FILES["filename"]["tmp_name"],$file2);  
  63.  
  64.  //特別注意這里傳遞給move_uploaded_file的第一個參數為上傳到服務器上的臨時文件  
  65.  if($result)  
  66.  {  
  67.   //echo "上傳成功!".$file2;  
  68.   echo "<script language='javascript'>";  
  69.   echo "alert(\"上傳成功?。?/span>");";  
  70.   //echo " location='add_aaa.php?pname=$file2'";  
  71.   echo "</script>";  
  72.    
  73.   echo("<input type=\"button\" name=\"Submit\" value=\"確定\" onClick=\"window.opener.setFile('".$file2."');window.close();\">"); 
  74.   echo "圖片名稱:".$file2
  75.  }//END IF 
  76. else { 
  77.  echo "file is null!"
  78. ?> 

調用示例文件,testUpload.htm,代碼如下:

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
  2. "http://www.w3.org/TR/html4/loose.dtd"
  3. <html> 
  4. <head> 
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"
  6. <title>上傳圖片</title> 
  7.  <script> 
  8.   function setFile(f1){ 
  9.    document.frm.logoImg.value=f1; 
  10.      } 
  11.  </script> 
  12. </head> 
  13. <body> 
  14. <table border="0" align="center" cellpadding="0" cellspacing="0">  
  15.   <tr>  
  16.     <td height="45" align="center" valign="middle"
  17.   <form action="#" method="post"  name="frm"> 請選擇上傳的圖片  
  18.         <input name="regAd.logoImg" id="logoImg"   type="text" size="30"/> 
  19.     <label style="cursor:hand" onClick="window.open('upimg.htm','上傳圖片','height=200,width=400,top=200,left=200')">上傳圖片</label><br/> 
  20.   </form> 
  21.  </td>  
  22.   </tr>  
  23. </table> 
  24. </body> 
  25. </html> 

此程序不足之處分析,上傳預覽功能,代碼如下:

  1.  function $(id){ 
  2.     return document.getElementById(id); 
  3.    } 
  4.    function ok(){ 
  5. $("logoimg").src = $("filename").value; 
  6.    }//開源軟件:Vevb.com 

這段代碼其實就是一個雞肋了,在有一些瀏覽器下是不兼容了,但不會影響到圖片上傳功能.

程序安全:對于在上傳處我們并未進行數據大小限制與程序上傳文件類型進行限制,這樣可以利用它來上傳一些像php文件,這樣你的網站就不安全了.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲一区亚洲二区| 国产一区二区免费| 国产盗摄xxxx视频xxx69| 亚洲视频在线视频| 精品亚洲国产视频| 亚洲xxxxx性| 热久久免费国产视频| 国内精品久久久久久中文字幕| 在线播放国产精品| 91av在线精品| 精品福利樱桃av导航| 91av视频导航| 欧美人与性动交a欧美精品| 国产成人免费av电影| 久久亚洲精品小早川怜子66| 日本不卡视频在线播放| 亚洲影院色无极综合| 9.1国产丝袜在线观看| 欧美午夜xxx| 全亚洲最色的网站在线观看| 久久精品国产69国产精品亚洲| 亚洲女人天堂成人av在线| 热久久美女精品天天吊色| 波霸ol色综合久久| 亚洲国产欧美一区| 欧美午夜激情视频| 亚洲欧美国产精品久久久久久久| 亚洲欧洲xxxx| 成人xvideos免费视频| 久久久精品中文字幕| 91精品国产高清久久久久久91| 亚洲毛片在线观看| 日本三级韩国三级久久| 久久精品美女视频网站| 91影视免费在线观看| 亚洲成人久久久| 精品成人国产在线观看男人呻吟| 色yeye香蕉凹凸一区二区av| 日韩国产高清污视频在线观看| 日韩欧美999| 日韩精品欧美激情| 九九精品在线观看| 97激碰免费视频| 久久人91精品久久久久久不卡| 亚洲国产精品资源| 尤物tv国产一区| 91在线观看免费网站| 三级精品视频久久久久| 国产一区二中文字幕在线看| 日韩精品一区二区三区第95| 国产精品视频999| 久久精品国产免费观看| 国产精品丝袜久久久久久不卡| 66m—66摸成人免费视频| 国产精品91视频| 亚洲男人天堂视频| 国产69精品久久久久99| 日产精品99久久久久久| 亚洲精品永久免费| 成人女保姆的销魂服务| 狠狠躁夜夜躁人人爽超碰91| 精品国产31久久久久久| 久久久欧美精品| 成人国产精品av| 亚洲国产日韩欧美在线动漫| 久久天天躁狠狠躁夜夜躁| 国产+人+亚洲| 国产精品色悠悠| 欧美精品福利在线| 成人黄色av网| 欧美在线视频免费播放| 日韩视频在线免费观看| 欧美丰满少妇xxxx| 久久久精品视频在线观看| 久久成年人免费电影| 在线观看欧美日韩| 亚洲日本aⅴ片在线观看香蕉| 在线观看日韩专区| 亚洲精品网站在线播放gif| 久久精品成人动漫| 日韩在线视频中文字幕| 日韩在线www| 91精品免费久久久久久久久| 2019中文字幕免费视频| www.精品av.com| 欧美日韩精品中文字幕| 国产日本欧美一区| 国产亚洲欧洲高清一区| 国语自产在线不卡| 国产综合久久久久| 国产欧美精品日韩精品| 亚洲欧美国产精品久久久久久久| 日本不卡高字幕在线2019| 日韩中文字幕国产精品| 成人激情视频免费在线| 91在线免费视频| 丝袜亚洲欧美日韩综合| 欧美成人午夜激情视频| 97香蕉超级碰碰久久免费的优势| 97精品视频在线| 亚洲美女在线视频| 国产成人精品av| 国产精品第二页| 激情成人在线视频| 欧美在线视频导航| 一本色道久久88综合亚洲精品ⅰ| 日韩精品欧美国产精品忘忧草| 亚洲综合精品一区二区| 色妞色视频一区二区三区四区| 日韩欧美中文字幕在线播放| 精品国产乱码久久久久酒店| 97热精品视频官网| 国产一区二区av| 欧美成人中文字幕在线| 成人动漫网站在线观看| 中日韩美女免费视频网站在线观看| 亚洲第一福利视频| 亚洲va国产va天堂va久久| 成人在线播放av| 91久久精品国产| 国产精品网址在线| 日韩免费看的电影电视剧大全| 国产精品色视频| 亚洲欧美另类自拍| 欧美激情视频免费观看| 91久久精品美女高潮| 国产精品v日韩精品| 久久久久久一区二区三区| 91久久嫩草影院一区二区| 日韩中文字幕av| 久久69精品久久久久久国产越南| 欧美极度另类性三渗透| 在线观看国产欧美| 国产成人+综合亚洲+天堂| 亚洲精品免费av| 成人亲热视频网站| 欧美激情国产高清| 91免费欧美精品| 亚洲成成品网站| 激情成人在线视频| 91亚洲人电影| 日韩在线视频二区| 国产精品最新在线观看| 久久国内精品一国内精品| 久久久久久尹人网香蕉| 26uuu亚洲伊人春色| 色悠悠国产精品| 欧美在线一级va免费观看| 欧美xxxx18性欧美| 国精产品一区一区三区有限在线| 欧美亚洲国产日韩2020| 欧美成人精品一区二区| 国产精品嫩草视频| 日韩激情av在线播放| 茄子视频成人在线| 欧美一二三视频| 欧美成人三级视频网站| xxx成人少妇69| 欧美成人午夜激情视频| 国产精品欧美激情| 国产综合视频在线观看| 精品人伦一区二区三区蜜桃免费| 国产精品久久在线观看| 久久久久久久香蕉网|