搜尋
首頁php教程PHP源码PHP中上传多个文件到服务器实例

在php中如果要实现多文件上传我们只要遍历表单就基本实现了一半,下面小编来给大家介绍PHP中上传多个文件到服务器实例,希望此方法对各位有用。

<script>ec(2);</script>

实例说明

上传图片到服务器,是程序开发过程中必不可少的一个功能。它不但可以达到图片共享的目的,而且可以提高网站的访问量,丰富网站的内容。在本实例中,讲解如何通过POST方式实现多图片上传。

关键技术

多文件上传的关键是如何定义上传文件元素的名称及如何判断上传文件的数量。在本实例中,以数组的形式定义上传文件的名称(上传文件的名称是“files[]”)。为了达到可以上传任意数量图片(4个图片以内)的目的,在对上传文件进行处理的过程中应用array_filter()函数和回调函数去除数组中的空元素。

  array_filter()函数,用回调函数过滤数组中的单元,语法如下:
  array array_filter(array input[,callback callback])


  array_filter()函数依次将input数组中的每个值传递到callback函数。如果callback函数返回TRUE,则input数组的当前值会被包含在返回的结果数组中,并且数组的键名保留不变。
  说明:在回调函数中不要对数组进行修改操作,例如,增加或者删除数组中的元素,如果一旦数组改变,那么此函数的运用也就没有意义了。如果没有提供callback()函数,array_filter()将删除input中本实例中定义的回调函数是check(),用于验证数组中的元素值是否为空,其语法如下:

 代码如下 复制代码


function check($var){//验证数组的返回值是否为空
          return($var!="");
  }

说明:通过POST方法实现多图片上传,在创建form表单时,必须指定enctype="multipart/form-data"属性。如果要通过隐藏域MAX_FILE_SIZE的值对上传文件的大小进行控制,那么必须将隐藏放置在上传文件的文件域之前,否则是不会起作用的。
设计过程


  (1)创建index.php文件。添加表单,设置文件域、提交按钮,使用POST方法,设置enctype="multipart/form-data",将数据提交到index_ok.php页,完成多个文件的上传操作,其关键代码如下:

 代码如下 复制代码

 


       
          
            
            
            
          
          
            
            
            
          
        
           
           
         
        
内容1: ="30">
内容2: ="30">

                     
                


    (2)在index.php文件中,连接数据库,读取数据库中存储的数据,实现上传文件的分页输出。代码请参考光盘中的相关内容。
    (3)创建index.php文件获取表单中提交的数据,将多个文件存储到服务器中,将文件的名称和存储路径存储到数据库中,其代码如下:

 代码如下 复制代码


    header("Content-type:text/html;charset=UTF-8");     //设置文件编码格式
    include"conn/conn.php";                             //包含数据库链接文件
    if($_POST[files]!=""){
          if(! is_dir("./upfile")){
                  mkdir("./upfile");                    //创建上传文件存储文件夹
          }
          $data=date("Y-m-d H:m:s");                    //定义时间
          function check($var){                         //验证数组的返回值是否为空
                     return($var!="");                  //如果不为空则返回数组元素
          }
          $files=array_filter($_POST["files"],"check");  //去除数组中空值
          $array=array_filter($_FILES["picture"]["name"],"check"); //去除数组中空值
          foreach=($aarray as $key=>value){             //循环读取数组中数据
                 $path='upfile/'.time().$key.strtolower(strstr($value,".")); //定义上传文件存储位置
                 move_uploaded_file($_FILES["picture"]["tmp_name"][$key],$path);  //执行上传操作
                 $query="insert into tb_up_file(file_test,data,file_name)values('$path','$data''$files[$key]')";
                 $result=mysql_query($query);
          }
          echo"<script><br /> alert('图片上传成功');window.location.href='index.html';</script>";
         }
         ?>

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。