国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php處理單文件、多文件上傳代碼分享

2024-05-04 23:49:21
字體:
來源:轉載
供稿:網友

php處理  單文件、多文件上傳實例代碼,供大家參考,具體內容如下 

后臺處理文件submit_form_process.php 

<?php /******************************************************************************  參數說明: $max_file_size : 上傳文件大小限制, 單位BYTE $destination_folder : 上傳文件路徑 $watermark  : 是否附加水印(1為加水印,其他為不加水印);  使用說明: 1. 將PHP.INI文件里面的"extension=php_gd2.dll"一行前面的;號去掉,因為我們要用到GD庫; 2. 將extension_dir =改為你的php_gd2.dll所在目錄; ******************************************************************************/ //上傳文件類型列表$uptypes=array(    'image/jpg',    'image/jpeg',    'image/png',    'image/pjpeg',    'image/gif',    'image/bmp',    'image/x-png'); $max_file_size=2*1024*1024;   //上傳文件大小限制, 單位BYTE $destination_folder=get_stylesheet_directory().'/mytest/'; //上傳文件路徑 $watermark=1;   //是否附加水印(1為加水印,其他為不加水印); $watertype=1;   //水印類型(1為文字,2為圖片) $waterposition=1;   //水印位置(1為左下角,2為右下角,3為左上角,4為右上角,5為居中); $waterstring="test"; //水印字符串 $waterimg="xplore.gif";  //水印圖片 $imgpreview=1;   //是否生成預覽圖(1為生成,其他為不生成); $imgpreviewsize=1/2;  //縮略圖比例 if ($_SERVER['REQUEST_METHOD'] == 'POST') {   $fileArray = $_FILES['upfile'];//獲取多個文件的信息,注意:這里的鍵名不包含[]  print_r($fileArray);  echo "<br/>";  if (!is_uploaded_file($_FILES["upfile"]['tmp_name']))   //是否存在文件   {      echo "圖片不存在!";      exit;   }   $file = $_FILES["upfile"];   if($max_file_size < $file["size"])   //檢查文件大小   {     echo "文件太大!";     exit;   }    if(!in_array($file["type"], $uptypes))   //檢查文件類型   {     echo "文件類型不符!".$file["type"];     exit;   }    if(!file_exists($destination_folder))   {     mkdir($destination_folder);   }   $filename=$file["tmp_name"];   $image_size = getimagesize($filename);   $pinfo=pathinfo($file["name"]);   $ftype=$pinfo['extension'];   $destination = $destination_folder.time().".".$ftype;   //$destination = $destination_folder.$file["name"];   if (file_exists($destination) && $overwrite != true)   {     echo "同名文件已經存在了";     exit;   }   if(!move_uploaded_file ($filename, $destination))   {     echo "移動文件出錯";     exit;   }     $pinfo=pathinfo($destination);   $fname=$pinfo[basename];   echo " <font color=red>已經成功上傳</font><br>文件名: <font color=blue>".$destination_folder.$fname."</font><br>";   echo " 寬度:".$image_size[0];   echo " 長度:".$image_size[1];   echo "<br> 大小:".$file["size"]." bytes";      if($watermark==1)   {     $iinfo=getimagesize($destination,$iinfo);     $nimage=imagecreatetruecolor($image_size[0],$image_size[1]);     $white=imagecolorallocate($nimage,255,255,255);     $black=imagecolorallocate($nimage,0,0,0);     $red=imagecolorallocate($nimage,255,0,0);     imagefill($nimage,0,0,$white);     switch ($iinfo[2])     {       case 1:       $simage =imagecreatefromgif($destination);       break;       case 2:       $simage =imagecreatefromjpeg($destination);       break;       case 3:       $simage =imagecreatefrompng($destination);       break;       case 6:       $simage =imagecreatefromwbmp($destination);       break;       default:       die("不支持的文件類型");       exit;     }      imagecopy($nimage,$simage,0,0,0,0,$image_size[0],$image_size[1]);     imagefilledrectangle($nimage,1,$image_size[1]-15,80,$image_size[1],$white);      switch($watertype)     {       case 1:  //加水印字符串       imagestring($nimage,2,3,$image_size[1]-15,$waterstring,$black);       break;       case 2:  //加水印圖片       $simage1 =imagecreatefromgif("xplore.gif");       imagecopy($nimage,$simage1,0,0,0,0,85,15);       imagedestroy($simage1);       break;     }      switch ($iinfo[2])     {       case 1:       //imagegif($nimage, $destination);       imagejpeg($nimage, $destination);       break;       case 2:       imagejpeg($nimage, $destination);       break;       case 3:       imagepng($nimage, $destination);       break;       case 6:       imagewbmp($nimage, $destination);       //imagejpeg($nimage, $destination);       break;     }      //覆蓋原上傳文件     imagedestroy($nimage);     imagedestroy($simage);   }    if($imgpreview==1)   {   echo "<br>圖片預覽:<br>";   echo "<img src=/"/wp-content/themes/HotNewspro/mytest/".$fname."/" width=".($image_size[0]*$imgpreviewsize)." height=".($image_size[1]*$imgpreviewsize);   echo "  }   } ?> 

前臺頁面 

   <form enctype="multipart/form-data" method="post" name="upform"    action="submit_form_process.php">     <input name="testparas" value="test" type="text">     <input name="upfile" type="file" >      <input type="submit" value="上傳"><br>      允許上傳的文件類型為:<?=implode(', ',$uptypes)?>     </form>  

注1:多圖片上傳跟單個圖片上傳的最大區別在于input中的name屬性的,一開始我的name只等于upfile,在服務器端讀取 F ILES時只能讀到最后一個文件,因為在服務器端中 FILES時只能讀到最后一個文件,因為在服務器端中_FILES["file"]是我們上傳的文件,當上傳多個文件時,后面值的會覆蓋前面的值,所以只能讀到最后一個文件?,F在我們把它改稱upfile[],在服務器讀取$_FILES["file"]時得到的便是一個數組,所以我就可以用上面遍歷的數組的方法來獲取上傳文件的信息。 
<input type="file" multiple="multiple" id="file" name="upfile[]">   

注2:也可以在前臺頁面添加一個IFrame,使得form提交到此IFrame,后臺服務回傳內容顯示到此處 

  <form enctype="multipart/form-data" method="post" name="upform" tatget="iframefile"    action="submit_form_process.php">     <input name="testparas" value="test" type="text">     <input name="upfile" type="file" >      <input type="submit" value="上傳"><br>      允許上傳的文件類型為:<?=implode(', ',$uptypes)?>     </form>    <iframe name="iframefile" > 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 郁南县| 新龙县| 宜川县| 容城县| 大渡口区| 伊宁市| 望江县| 井研县| 循化| 米易县| 平谷区| 什邡市| 朝阳区| 云龙县| 涡阳县| 偏关县| 黎城县| 淮滨县| 利辛县| 宁夏| 泸州市| 沾化县| 霍州市| 阳信县| 武功县| 东乡县| 遵义县| 兰溪市| 修武县| 阳东县| 康定县| 龙海市| 建昌县| 天镇县| 乐东| 昭平县| 溧阳市| 尼玛县| 永和县| 台前县| 安龙县|