加入收藏 | 设为首页 | 会员中心 | 我要投稿 驾考网 (https://www.jiakaowang.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP批量上传资料大全

发布时间:2023-05-22 13:18:55 所属栏目:PHP教程 来源:
导读:案例一:

<?PHP

$file_path="uploads/";

for($i=0;$i<count($_FILES[ufile][name]);$i++){

$_FILES[ufile][name][$i]=time().$_FILES[ufile][name][$i]; //加个时间戳防止重复文件上传后被覆盖

}
案例一:

<?PHP

$file_path="uploads/";

for($i=0;$i<count($_FILES[ufile][name]);$i++){

    $_FILES[ufile][name][$i]=time().$_FILES[ufile][name][$i]; //加个时间戳防止重复文件上传后被覆盖

}

print_r($_FILES[ufile][name]);

$filename=$_FILES[ufile][name];

$filet=$_FILES[ufile][tmp_name];

if($filet[size]>"500000"){   //这个可以自己随便改

   echo "您上传的文件大小为".$_FILES['ufile'][size]."大于500kb,请重新上传";

}else if($filet){

   for($i=0;$i<count($filename);$i++){     //循环上传文件的数组

     move_uploaded_file($filet[$i],$file_path.$filename[$i]);

   }

}

else{

    echo "文件上传失败";

   }

?>

<head>

<Meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<title>无标题文档</title>

</head>

<body>

<p>请上传问件不大于500K</p>

<form method="post" action="upload.PHP" enctype="multipart/form-data">

    <input type="file" name="ufile[]" />

    <input type="file" name="ufile[]" />

    <input type="file" name="ufile[]" />

    <input type="submit" value="提交" />

</form>

</body>

</html>

案例二:

PHP动态批量上传文件

<?PHP

function upload_multi($path,$photo,$i){

$uploaddir = './'.$path;//文件存放目录

if(!file_exists($uploaddir))//如果目录不存在就新建

$uploaddir=mkdir($uploaddir);

$piece = explode('.',$photo['name'][$i]);

$uploadfile = $uploaddir . '/'.md5($piece[0]).'.'.$piece[1];

$result = move_uploaded_file($photo['tmp_name'][$i],$uploadfile);

if(!$result){

exit('上传失败');

}

return basename($uploadfile);

}

if($_POST['tijiao']){

extract($_POST);

$i=0;

foreach ($_FILES["pictures"]["error"] as $key => $error) {

if ($error == UPLOAD_ERR_OK) {

upload_multi($email,$_FILES["pictures"],$i);

}

$i++;

}

}

?>

<script language="javascript">

function go_up(){

document.getElementByIdx_x_x_x_x_x('new_up').innerHTML+='<input type="file" name="pictures[]" /><br>';

}

</script>

<form action="file.PHP" method="post" enctype="multipart/form-data">

<p>多图片上传<br>

<input type="text" name="username" /><br>

<input type="text" name="email" /><br>

<input type="file" name="pictures[]" /><br>

<div id="new_up"></div>

<input type="button" " name="add_img" value="新增上传" onclick="go_up()" /><br>

<input type="submit" value="Send" name="tijiao" /><br>

</p>

</form>

案例三:

PHP文件上传代码(支持文件批量上传)

本款文件上传类,默认是上传单文件的,我们只要修改$inputname ='files'为你的表单名就可以方便的实现批量文件上传了。 $savename = ''保存文件名,$alowexts = array()设置允许上传的类型,$savepath = ''保存路径。

*/  

class upload  

{  

public $savepath;  

public $files;  

private $error;  

function __construct($inputname ='files',$savepath = '',$savename = '',$alowexts = array(),$maxsize = 1024000)  

{  

if(!$alowexts)$alowexts=explode('|',upload_ftype);  

$file_array=array();  

$savepath=str_replace('','/',$savepath);  

$savename=preg_replace('/[^a-z0-9_]+/i','',$savename);  

$this->savepath=substr($savepath,-1)=='/'?$savepath:$savepath.'/'; //路径名以/结尾  

if(!make_dir($this->savepath))  

{  

$this->error=8;  

$this->error();  

}  

//exit($this->savepath);  

if(!is_writeable($this->savepath))  

{  

$this->error=9;  

$this->error();  

}  

if(sizeof($_files[$inputname]['error'])>10)  

{  

$this->error=13;  

$this->error();  

}  

$max=sizeof($_files[$inputname]['error'])-1;  

//exit($this->savepath.$savename);  

foreach($_files[$inputname]['error'] as $key => $error)  

{  

if($error==upload_err_ok) //批量上传  

{  

$savename=$savename?$savename:date('ymdims').mt_rand(10000,99999);   

$fileext=strtolower(get_fileext($_files[$inputname]['name'][$key]));  

$savename=$savename.'.'.$fileext;  

$tmp_name=$_files[$inputname]['tmp_name'][$key];  

$filesize=$_files[$inputname]['size'][$key];  

if(!in_array($fileext,$alowexts))  

{  

$this->error=10;  

$this->error();  

}  

if($filesize>$maxsize)  

{  

$this->error=11;  

$this->error();  

}  

if(!$this->isuploadedfile($tmp_name))  

{  

$this->error=12;  

$this->error();  

}  

if(move_uploaded_file($tmp_name,$this->savepath.$savename) || @copy($tmp_name,$this->savepath.$savename))  

{  

//exit($this->savepath.$savename);  

@chmod($savename,0644);  

@unlink($tmp_name);  

$file_array[]=$this->savepath.$savename;   

}  

}  

else 

{  

$this->error=$error;  

$this->error();  

}  

unset($savename);  

}  

$this->files=$file_array;  

return true;  

}  

function isuploadedfile($file) //去掉系统自带的反斜线  

{  

return (is_uploaded_file($file) || is_uploaded_file(str_replace('',$file)));   

}  

function error()  

{  

(编辑:驾考网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章