文件上传时,须注意的是:表单form标签中添加enctype属性,enctype="multipart/form-data";
成都创新互联公司成立于2013年,我们提供高端重庆网站建设、成都网站制作、网站设计、网站定制、全网营销推广、小程序开发、微信公众号开发、网站推广服务,提供专业营销思路、内容策划、视觉设计、程序开发来完成项目落地,为水泥搅拌车企业提供源源不断的流量和订单咨询。
下面以一个具体的实例。。
1,先做一个文件上传页面,此页面可以是html页在,也可以是php页面。如
upload.html文件上传页面。 具体代码如下:
html
head
title文件上传/title
style
.wjsc{
width:60%;
margin:20px auto;
border:1px solid black;
height:200px;
}
.wj{
margin:50px;
}
/style
/head
body
div class="wjsc"
form action="doAction1.php" method="post" enctype="multipart/form-data" class="wj"
input type="file" name="pImg"/br/
input type="submit" value="上传"/
/form
/div
/body
/html
2,通过表单action="doAction.php"将upload.html文件提交至doAction.php进行处理。
通过$_FILES数组获取文件上传的相关信息。
$pImg=$_FILES['pImg'];
1,获得上传的文件名。
通过explode()函数,可得到上传的文件的扩展名。。
$extName=strtolower(end(explode('.',$pImg['name'])));
2,通过判断$pImg['error']的错误号,如果错误误为0,即:$pImg['error']==UPLOAD_ERR_OK
3;将上传的临时文件名移至指定的目标位置。
move_uploaded_file($pImg['tmp_name'],$dest);
具体代码如下:
?php
header("content-type:text/html;charset=utf-8");
date_default_timezone_set("PRC");
$pImg=$_FILES['pImg'];
print_r($pImg);
if($pImg['error']==UPLOAD_ERR_OK){
//取得扩展名
$extName=strtolower(end(explode('.',$pImg['name'])));
//echo $extName;
$filename=date("Ymdhis").".".$extName;
//echo $filename;
$dest="uploads/".$filename;
move_uploaded_file($pImg['tmp_name'],$dest);
echo "上传成功";
}else{
echo "上传错误";
}
?
这个优化要看下你数据库的结构了,最简单的使用 set_time_limit(0);函数修改php文件执行30秒的限制,禁对单个文件可用,这样不需要修改php的配置!
日志提示明显是脚本执行超时,这些问题通常出现的原因有:
1、大量的IO操作(文件读写、数据库操作等),代码循环逻辑没控制好,执行时间超时;
2、系统的负载过高,脚本受阻塞长时间等待超时;
3、php环境没配置好。
nginx配置可能有问题。导致nginx不能解析PHP文件,检测nginx里对于php的配置信息。