PHP實例:上傳多個圖片并校驗的代碼_PHP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:講解用PHP實現Jmai組件及發送郵件三例
      代碼一: <% On error resume next Dim JMail, contentId Set JMail = Server.CreateObject("JMail.Message") JMail.Charset = "gb2

      單張的圖片上傳是不復雜的,這里涉及到多張圖片上傳和對圖片格式的校驗,保證上傳的一定是圖片,防止上傳其他文件到服務器。


      基本實現算法是使用數組的形式,把所有的圖片提交個一個數組,對數組的元素進行一個個的處理。

      <?php

      mb5u.Com


      // 圖片目錄
      $img_dir = "../upload/";
      // …… html 顯示上傳界面 mb5u.Com

      /* 圖片上傳處理 */
      // 把圖片傳到服務器
      // 初始化變量

      $uploaded = 0;
      $unuploaded = 0;


      //只允許五張圖片上傳

      for ($i=0; $i<=5; $i )
      {
      //獲取當前圖片的信息
      $is_file = $_FILES['imgfile']['name'][$i];
      //如果當前圖片不為空
      if (!empty($is_file))
      {
      //把當前圖片的信息存儲到變量里
      $result[$i] = "
      <tr class=td2 align=center>
      <td>". $_FILES['imgfile']['name'][$i] ."</td>
      <td>". round($_FILES['imgfile']['size'][$i]/1024, 2) ."K</td>
      <td>". $_FILES['imgfile']['type'][$i] ."</td>
      <td>";


      // 判斷上傳的圖片的類型是不是jpg,gif,png,bmp中的一種,同時判斷是否上傳成功
      if (

      mb5u.Com

      $_FILES['imgfile']['type'][$i] == "image/pjpeg" ||
      $_FILES['imgfile']['type'][$i] == "image/gif" ||
      $_FILES['imgfile']['type'][$i] == "image/x-png" ||
      $_FILES['imgfile']['type'][$i] == "image/bmp"
      )
      {
      //如果上傳的文件沒有在服務器上存在

      if (!file_exists($img_dir . $_FILES['imgfile']['name'][$i]))
      {
      //把圖片文件從臨時文件夾中轉移到我們指定上傳的目錄中
      move_uploaded_file($_FILES['imgfile']['tmp_name'][$i],
      $img_dir . $_FILES['imgfile']['name'][$i]);
      $result[$i] .= "成功";

      $uploaded ;
      }
      else //如果文件已經在服務器上存在
      {
      $result[$i] .= "<font color=red>文件已存在</font>";
      $unuploaded ;


      continue;
      }
      }
      else
      {
      $result[$i] .= "<font color=red>失敗</font>";
      $unuploaded ;
      }
      $result[$i] .= "</td></tr>";
      } //end if
      } // end for

      // 如果沒有選擇任何圖片
      if (empty($result))
      {
      prompt_msg("錯誤信息", "沒有選擇任何圖片。", "返回上一步", "uploadimg.php?action=upload" );
      exit();
      }

      // 顯示所有上傳后的結果
      echo " <table cellpadding=4 cellspacing=1 border=0 class=table width=400 align=left>
      <tr class=navi align=center>
      <td>文件名</td>
      <td>大小</td>
      <td>類型</td>
      <td>上傳結果</td>
      </tr>
      ";


      foreach( $result as $value)
      {
      echo $value;
      }

      echo "<tr class=td1>
      <td colspan=4>共上傳 " . ($uploaded $unuploaded) . ", 成功: $uploaded, 失敗:<font color=red> $unuploaded</font> </td>
      </tr>
      <tr class=navi>
      <td colspan=4 align=center>[ <a href='uploadimg.php?action=upload' title='繼續上傳'>繼續上傳</a> ] &nbsp;&nbsp;&nbsp;&nbsp;[ <a href='image.php' title='瀏覽圖片'>瀏覽圖片</a> ]</td>
      </tr>
      </table>
      ";
      ?> mb5u.Com

      本文來自:(www.wf0088.com)原文鏈接:http://www.wf0088.com/php/php_2007_11_01_331.html

      分享:PHP的語言層面的優化以及代碼優化技巧
      大規模的系統開發中,Cache無疑是至關重要的,php世界里,雖然不如java當中,有那么豐富的cache解決方案可以選擇,但是,仍然有一些成熟的方案。 1、語言層面的優化:php具有不少引擎(engine)

      來源:模板無憂//所屬分類:PHP教程/更新時間:2008-08-22
      相關PHP教程