php在文件域元素中使用什么属性设置多文件上传

php在文件域元素中使用什么属性设置多文件上传,第1张

php在文件域元素中使用multiple属性设置多文件上传。根据查询相关公开信息显示,打开php在文件域元素中,使用multiple属性设置多文件上传,创建数据表student,若创建成功,则输出数据表student创建成功,否则输出数据表student创建失败。

修改PHP上传文件大小限制的方法

1. 一般的文件上传,除非文件很小.就像一个5M的文件,很可能要超过一分钟才能上传完.

但在php中,默认的该页最久执行时间为 30 秒.就是说超过30秒,该脚本就停止执行.

这就导致出现 无法打开网页的情况.这时我们可以修改 max_execution_time

在php.ini里查找

max_execution_time

默认是30秒.改为

max_execution_time = 0

0表示没有限制

2. 修改 post_max_size 设定 POST 数据所允许的最大大小。此设定也影响到文件上传。

php默认的post_max_size 为2M.如果 POST 数据尺寸大于 post_max_size $_POST 和 $_FILES superglobals 便会为空.

查找 post_max_size .改为

post_max_size = 150M

3. 很多人都会改了第二步.但上传文件时最大仍然为 8M.

为什么呢.我们还要改一个参数upload_max_filesize 表示所上传的文件的最大大小。

查找upload_max_filesize,默认为8M改为

upload_max_filesize = 100M

另外要说明的是,post_max_size 大于 upload_max_filesize 为佳.

刚学php时写的一个类,可以给你参考下,你所说的功能基本上也都有。

这个用作学习还是不错的。

<?php

class fileup{

private $savefilepath    //保存路径

private $filetype=array('gif','jpg','jpeg','png') //文件类型

private $maxsize=1000000   //上传最大的尺寸 默认值设置为1M

private $savename=true   //是否默认随机名称

private $upfileform //上传文件表单的name值

//以下是不可以修改的成员属性

private $tmpname //上传的临时文件名

private $upfilename //上传文件的名称

private $uperror

private $newname //新的文件名

//private $upfiletype //上传文件的类型

private $upfilesize //上传文件的大小。

private $filehz  //文件名的扩展名。

//构造方法

function __construct($upfileform,$savefilepath='./upload/'){

$this->upfileform=$upfileform

$this->savefilepath=rtrim($savefilepath,'/')

$this->tmpname=$_FILES[$upfileform]['tmp_name']

$this->upfilename=$_FILES[$upfileform]['name']

$this->upfilesize=$_FILES[$upfileform]['size']

$this->uperror=$_FILES[$upfileform]['error']

$this->getnewname()

}

//设置文件上传的参数,不设置为默认值。

function setfilepar($par){

$pars=array('filetype','maxsize','savename')

foreach($par as $key=>$value){

if(in_array($key,$pars)){

$this->$key=$value

}else{

continue

}

}

}

//检查上传

private function checkfileup(){

//判断文件夹是否正确或文件夹是否有可写入的权限。

if(!is_dir($this->savefilepath)||!is_writable($this->savefilepath)){

$this->uperror=8

return false

}

//判断文件名是否存在

if(is_file($this->newname)){

$this->uperror=9

return false

}

//判断上传文件的类型是否正确。

if(!in_array(strtolower($this->filehz),$this->filetype)){

$this->uperror=-1

return false

}

return true

}

//获取新的文件名字

private function getnewname(){

$tmp=explode('.',$this->upfilename)

$this->filehz=$tmp[count($tmp)-1]

if(is_bool($this->savename)){

if($this->savename){

$this->newname=$this->savefilepath.'/'.date('YmdHis').rand(10000,99999).'.'.$this->filehz

}else{

$this->newname=$this->savefilepath.'/'.$this->upfilename

}

}else{

$this->newname=$this->savefilepath.'/'.$this->savename.'.'.$this->filehz

}

}

//获取错误信息

private function getuperror(){

switch($this->uperror){

case 1: echo '上传文件超过了系统指定的大小' break

case 2: echo '上传文件超过了表单中指定的大小' break

case 3: echo '文件只有部分上传' break

case 4: echo '没有文件上传' break

case 6: echo '找不到上传的文件,系统错误' break

case 7: echo '文件写入失败' break

case 8: echo '文件路径不存在,或不可写' break

case 9: echo '文件名已经存在,请不要重复上传' break

case -1: echo '不是指定上传的文件' break

case -2: echo '请勿使用非法途径上传' break

case -3: echo '文件上传失败' break

default: '未知错误' break

}

}

function fileupload(){

if(!$this->checkfileup()||$this->uperror!=0){

$this->getuperror()

return false

}else{

if(!is_uploaded_file($_FILES[$this->upfileform]['tmp_name'])){

$this->uperror=-2

$this->getuperror()

return false

}else{

if(move_uploaded_file($_FILES[$this->upfileform]['tmp_name'],$this->newname)){

return true

}else{

$this->uperror=-3

return false

}

}

}

}

//获取文件名

function getname(){

return $this->newname

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11207618.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存