最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP多個文件上傳到服務(wù)器實例

 更新時間:2014年10月29日 14:15:36   投稿:shichen2014  
這篇文章主要介紹了PHP多個文件上傳到服務(wù)器的實現(xiàn)方法,以實例形式詳細(xì)講解了多文件傳遞過程中的數(shù)組應(yīng)用及數(shù)據(jù)遍歷上傳等技巧,非常具有實用價值,需要的朋友可以參考下

本文實例講述了PHP多個文件上傳到服務(wù)器的實現(xiàn)方法。對于多個文件同時上傳到服務(wù)器的情況來說,我們需要使用到數(shù)組形式的參數(shù)傳遞及數(shù)據(jù)的遍歷上傳即可,具體的操作步驟分析如下:

一、實例說明

上傳圖片到服務(wù)器,是程序開發(fā)過程中必不可少的一個功能。它不但可以達到圖片共享的目的,而且可以提高網(wǎng)站的訪問量,豐富網(wǎng)站的內(nèi)容。在本實例中,講解如何通過POST方式實現(xiàn)多圖片上傳。

二、關(guān)鍵技術(shù)

多文件上傳的關(guān)鍵是如何定義上傳文件元素的名稱及如何判斷上傳文件的數(shù)量。在本實例中,以數(shù)組的形式定義上傳文件的名稱(上傳文件的名稱是“files[]”)。為了達到可以上傳任意數(shù)量圖片(4個圖片以內(nèi))的目的,在對上傳文件進行處理的過程中應(yīng)用array_filter()函數(shù)和回調(diào)函數(shù)去除數(shù)組中的空元素。

array_filter()函數(shù),用回調(diào)函數(shù)過濾數(shù)組中的單元,語法如下:

復(fù)制代碼 代碼如下:
array array_filter(array input[,callback callback])

array_filter()函數(shù)依次將input數(shù)組中的每個值傳遞到callback函數(shù)。如果callback函數(shù)返回TRUE,則input數(shù)組的當(dāng)前值會被包含在返回的結(jié)果數(shù)組中,并且數(shù)組的鍵名保留不變。

說明:在回調(diào)函數(shù)中不要對數(shù)組進行修改操作,例如,增加或者刪除數(shù)組中的元素,如果一旦數(shù)組改變,那么此函數(shù)的運用也就沒有意義了。如果沒有提供callback()函數(shù),array_filter()將刪除input中所有等值為FALSE的元素。
本實例中定義的回調(diào)函數(shù)是check(),用于驗證數(shù)組中的元素值是否為空,其語法如下:

復(fù)制代碼 代碼如下:
function check($var){//驗證數(shù)組的返回值是否為空
return($var!="");
}

說明:通過POST方法實現(xiàn)多圖片上傳,在創(chuàng)建form表單時,必須指定enctype="multipart/form-data"屬性。如果要通過隱藏域MAX_FILE_SIZE的值對上傳文件的大小進行控制,那么必須將隱藏放置在上傳文件的文件域之前,否則是不會起作用的。

三、設(shè)計過程

(1)創(chuàng)建index.php文件。添加表單,設(shè)置文件域、提交按鈕,使用POST方法,設(shè)置enctype="multipart/form-data",將數(shù)據(jù)提交到index_ok.php頁,完成多個文件的上傳操作,其關(guān)鍵代碼如下:

復(fù)制代碼 代碼如下:
<table width="750"border="0"cellspacing="0"cellpadding="0">
<form action="index_ok.html"method="post"enctype="multipart/form-data"name="form1">
 <tr>
 <td width="100"height="25"align="right"class="STYLE1">內(nèi)容1:</td>
 <td width="150"align="center"><input name="files[]"type="text"id="files[]"size="15"></td>
 <td align="left"><input name="picture[]"type="file"id="pcture[]"size>="30"></td>
 </tr>
 <tr>
 <td height="25"align="right"class="STYLE1">內(nèi)容2:</td>
 <td width="center"><input name="files[]"type="text"id="files[]"size="15"></td>
 <td align="left"><input name="picture[]"type="file"id="pcture[]"size>="30"></td>
 </tr>
 <tr>
<td colspan="3"align="center">
 <input type="image"name="imageField"src="images/bg_09.jpg">&nbsp;&nbsp;&nbsp;&nbsp;
 <input type="image"name="imgeField2"src="images/bg_11.jpg"></td>
</tr>
</form>
 </table>

(2)在index.php文件中,連接數(shù)據(jù)庫,讀取數(shù)據(jù)庫中存儲的數(shù)據(jù),實現(xiàn)上傳文件的分頁輸出。代碼請參考光盤中的相關(guān)內(nèi)容。

(3)創(chuàng)建index.php文件獲取表單中提交的數(shù)據(jù),將多個文件存儲到服務(wù)器中,將文件的名稱和存儲路徑存儲到數(shù)據(jù)庫中,其代碼如下:

復(fù)制代碼 代碼如下:
<?php
header("Content-type:text/html;charset=UTF-8"); //設(shè)置文件編碼格式
include"conn/conn.php"; //包含數(shù)據(jù)庫鏈接文件
if($_POST[files]!=""){
if(! is_dir("./upfile")){
mkdir("./upfile");//創(chuàng)建上傳文件存儲文件夾
}
$data=date("Y-m-d H:m:s");//定義時間
function check($var){ //驗證數(shù)組的返回值是否為空
 return($var!="");//如果不為空則返回數(shù)組元素
}
$files=array_filter($_POST["files"],"check");//去除數(shù)組中空值
$array=array_filter($_FILES["picture"]["name"],"check"); //去除數(shù)組中空值
foreach=($aarray as $key=>value){ //循環(huán)讀取數(shù)組中數(shù)據(jù)
 $path='upfile/'.time().$key.strtolower(strstr($value,".")); //定義上傳文件存儲位置
 move_uploaded_file($_FILES["picture"]["tmp_name"][$key],$path);//執(zhí)行上傳操作
 $query="insert into tb_up_file(file_test,data,file_name)values('$path','$data''$files[$key]')";
 $result=mysql_query($query);
}
echo"<script>
alert('圖片上傳成功');window.location.href='index.html';</script>";
 }
 ?>

四、技巧補充

通過偽靜態(tài)技術(shù)隱藏PHP文件后綴。
首先,修改Apache服務(wù)器的配置文件httpd.conf。打開httpd.conf文件,定位到如下位置:

復(fù)制代碼 代碼如下:
#LoadModule rewrite_module modules/mod_rewrite.so

將該項前面的“#”去掉后啟動該項。
然后,查找httpd.conf文件,找到其中的AllowOverride項,將它的值都修改為All。保存并重新啟動Apache服務(wù)器,使修改生效。
最后,在實例根目錄下創(chuàng)建.htaccess文件,實現(xiàn)對PHP文件后綴的隱藏操作。.htaccess文件的代碼如下:

復(fù)制代碼 代碼如下:
RewriteEngine On#啟動項
RewriteRule^index.html$ index.php
RewriteRule^ndex_ok.html$ index_ok.php
RewriteRule^index-([0-9]+)-([0-9]+)-([0-9]+)\.html$ index.php?vv=$1&ljjl=$2&page=$3[L]

通過正則表達式對文件的后綴和傳遞的參數(shù)進行匹配,完成對PHP文件后綴的隱藏操作。

希望本文所述對大家的PHP程序設(shè)計有所幫助。

相關(guān)文章

  • php面向?qū)ο笾攸c知識分享

    php面向?qū)ο笾攸c知識分享

    在本篇文章里小編給大家整理的是關(guān)于php面向?qū)ο竽男┲攸c的內(nèi)容,有需要的朋友們學(xué)習(xí)參考下。
    2019-09-09
  • php日歷[測試通過]

    php日歷[測試通過]

    一直喜歡php下的日歷實現(xiàn)代碼,測試效果不錯
    2008-03-03
  • PHP性能測試工具xhprof安裝與使用方法詳解

    PHP性能測試工具xhprof安裝與使用方法詳解

    這篇文章主要介紹了PHP性能測試工具xhprof安裝與使用方法,簡單說明了性能測試工具xhprof的功能并較為詳細(xì)的分析了xhprof安裝與使用相關(guān)操作技巧,需要的朋友可以參考下
    2018-04-04
  • PHP控制網(wǎng)頁過期時間的代碼

    PHP控制網(wǎng)頁過期時間的代碼

    有時我們需要控制主頁之類的網(wǎng)頁過期時間。但我們比如使用的是Chinacache的CDN,那要怎么樣設(shè)計才能讓他緩存我的內(nèi)容.
    2008-09-09
  • smarty巧妙處理iframe中內(nèi)容頁的代碼

    smarty巧妙處理iframe中內(nèi)容頁的代碼

    最近在用smarty做一個小項目,發(fā)現(xiàn)smarty中模板引擎挺不錯,讓前端和后端真正的分離
    2012-03-03
  • PHP完全二叉樹定義與實現(xiàn)方法示例

    PHP完全二叉樹定義與實現(xiàn)方法示例

    這篇文章主要介紹了PHP完全二叉樹定義與實現(xiàn)方法,簡單描述了完全二叉樹的概念并結(jié)合實例形式給出了完全二叉樹的定義、節(jié)點查找、添加、設(shè)置、打印等相關(guān)操作技巧,需要的朋友可以參考下
    2017-10-10
  • PHP動態(tài)頁生成靜態(tài)頁的3種常用方法

    PHP動態(tài)頁生成靜態(tài)頁的3種常用方法

    這篇文章主要介紹了PHP動態(tài)頁生成靜態(tài)頁的3種常用方法,通過三種不同的方法從不同的角度實現(xiàn)這一功能,有很好的參考借鑒價值,需要的朋友可以參考下
    2014-11-11
  • php簡單防盜鏈驗證實現(xiàn)方法

    php簡單防盜鏈驗證實現(xiàn)方法

    這篇文章主要介紹了php簡單防盜鏈驗證實現(xiàn)方法,通過$_SERVER['HTTP_REFERER']獲取來路頁面URL再進行判斷進而實現(xiàn)對非本地URL的攔截功能,需要的朋友可以參考下
    2016-07-07
  • PHP調(diào)用Linux的命令行執(zhí)行文件壓縮命令

    PHP調(diào)用Linux的命令行執(zhí)行文件壓縮命令

    一開始,我和普通青年一樣,想到用PHP內(nèi)置的 ZipArchive糾結(jié)的是環(huán)境上沒安裝zip擴展,想采用用PHP調(diào)用Linux的命令行 ,執(zhí)行壓縮命令,感興趣的朋友可以了解下,希望本文對你有所幫助
    2013-01-01
  • php中的鉤子理解及應(yīng)用實例分析

    php中的鉤子理解及應(yīng)用實例分析

    這篇文章主要介紹了php中的鉤子理解及應(yīng)用,結(jié)合實例形式詳細(xì)分析了php鉤子的概念、功能、實現(xiàn)與使用方法,需要的朋友可以參考下
    2019-08-08

最新評論

桐柏县| 榆中县| 三都| 达州市| 宽城| 河曲县| 玉龙| 确山县| 福鼎市| 阳春市| 微博| 鄱阳县| 和顺县| 理塘县| 德惠市| 腾冲县| 曲沃县| 鄢陵县| 黄骅市| 兴城市| 寿光市| 武隆县| 施秉县| 察雅县| 南华县| 台中县| 周至县| 平安县| 改则县| 文昌市| 赣榆县| 永丰县| 洛扎县| 高青县| 吐鲁番市| 祁东县| 婺源县| 佳木斯市| 墨竹工卡县| 东兰县| 洛扎县|