'文件上传成功!!', 1=>'上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值.', 2=>'上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。', 3=>'文件只有部分被上传', 4=>'没有文件被上传', ); $errors = ''; if(isset($_POST['password']) && $_POST['password'] != '123456') $errors = '管理员密码错误!!!'; if ($_SERVER['REQUEST_METHOD'] == 'POST' && $errors == '') { $errors = $error_arr[$_FILES["file"]["error"]]; if (is_uploaded_file($_FILES['file']['tmp_name'])) { $filename = $_FILES["file"]["name"]; $tmp_name = $_FILES["file"]["tmp_name"]; $type = $_FILES["file"]["type"]; } if ($_FILES["file"]["error"] == 0) { $todir .= isset($_POST["todir"]) ? $_POST["todir"] : ""; if(substr($todir,-1)!="/") $todir.="/"; if(!empty($todir)) createFolder($todir);//创建文件夹 move_uploaded_file($tmp_name, './' . $filename); $extend = extend($filename);//获取扩展名 由于各浏览器的 $_FILES["file"]["type"]; 值不一样,这里用文件后缀 if(strstr($extend,'zip')) { exec('unzip -o '.$filename.' -d '.$todir); unlink($filename);//删除压缩包 } else if(strstr($extend,'rar')) { exec('rar x -o+ '.$filename.' -d '.$todir); unlink($filename);//删除压缩包 } } } function createFolder($path) { if (!file_exists($path)) { createFolder(dirname($path)); mkdir($path, 0777); } } function extend($file_name) { $extend =explode("." , $file_name); return end($extend); } ?>

上传需注意,如果文件已经存在则自动覆盖。支持.rar .zip