实例说明
上传图片到服务器,是程序开发过程中必不可少的一个功能。它不但可以达到图片共享的目的,而且可以提高网站的访问量,丰富网站的内容。在本实例中,讲解如何通过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中所有等值为FALSE的元素。
本实例中定义的回调函数是check(),用于验证数组中的元素值是否为空,其语法如下:
代码如下 | 复制代码 |
function check($var){//验证数组的返回值是否为空 return($var!=""); } |
代码如下 | 复制代码 |
代码如下 | 复制代码 |
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""; } >? |
秘笈心法
通过伪静态技术隐藏PHP文件后缀。
首先,修改Apache服务器的配置文件httpd.conf。打开httpd.conf文件,定位到如下位置:
代码如下 | 复制代码 |
#LoadModule rewrite_module modules/mod_rewrite.so |
将该项前面的“#”去掉后启动该项。
然后,查找httpd.conf文件,找到其中的AllowOverride项,将它的值都修改为All。保存并重新启动Apache服务器,使修改生效。
最后,在实例根目录下创建.htaccess文件,实现对PHP文件后缀的隐藏操作。.htaccess文件的代码如下:
代码如下 | 复制代码 |
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] |
代码如下 | 复制代码 |
通过正则表达式对文件的后缀和传递的参数进行匹配,完成对PHP文件后缀的隐藏操作。
茶杯头甜蜜终章dlc 官方手机版v1.0.0.3
下载火柴人传说暗影格斗内置菜单 最新版v3.0.1
下载荒野乱斗测试服 安卓版v61.10.3
下载荒野乱斗彩虹服 安卓版v61.10.3
下载寒霜启示录 安卓版v1.25.10
寒霜启示录是一款生存模拟游戏,不少玩家可能对于末日都有着自己
末日城堡免广告版 安卓最新版v0.7.1
末日城堡免广告版是一款非常好玩的模拟经营类游戏,内部可以不看
甜蜜人生模拟器 最新版v1.4.5
甜蜜人生模拟器是一款非常好玩的模拟恋爱手游,玩家在这里能够对
武器锻造师内置功能菜单 v10.4
武器锻造师内置菜单版是游戏的破解版本,在该版本中为玩家提供了
开放空间overfield 安卓版v1.0.5
开放空间Overfield是一款箱庭养成经营手游,让你在广阔