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]; //加个时间戳防止重复文件上传后被覆盖
}
|
案例一: <?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() { (编辑:驾考网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
