html代码
<html>
<meta charset="utf-8">
<?php
session_start();
$bmcode = mt_rand(0,10000);
$_SESSION["bmcode"] = $bmcode;
?>
<form action="ha.php" method="post" enctype="multipart/form-data">
<!-- <input type="file" name="myphoto" /> -->
<input type="hidden" name="jiami" value="<?php echo $bmcode; ?>" >
<input type="file" name="myphoto" accept="image/jpeg" >
<input type="submit" value="上传" />
</form>
</html>
php接收页面代码
<?php
header("content-type:text/html;charset=utf-8");
session_start();
if(isset($_SESSION["bmcode"])&&$_SESSION["bmcode"]==$_POST["jiami"]){
$file = $_FILES['myphoto']; //得到传输的数据
//得到文件名称
// var_dump($file); die;
// var_dump($_FILES['myphoto']);
$name = $file['name'];
$type = strtolower(substr($name,strrpos($name,'.')+1)); //得到文件类型,并且都转化成小写
// $allow_type = array('jpg','jpeg','png'); //定义允许上传的类型
$allow_type = array('jpg','jpeg'); //定义允许上传的类型
//判断文件类型是否被允许上传
if(!in_array($type, $allow_type)){
//如果不被允许,则直接停止程序运行
echo "只允许jpg,照片不要大于400kb";
exit();
}
//判断是否是通过HTTP POST上传的
if(!is_uploaded_file($file['tmp_name'])){
//如果不是通过HTTP POST上传的
// echo "只允许post方式";
exit();
}
//后台限制上传大小 不大于400kb-409600字节
if($file["size"]>409600){
echo"照片文件过大,无法上传";
exit();
}
$thismonth = date("Y-m",time());
// $upload_path = "D:/baomingupload/".$thismonth; //上传文件保存路径 每个月一个文件
$upload_path = "D:/".$thismonth."/"; //上传文件保存路径 每个月一个文件
// echo $upload_path;die;
if(!file_exists($upload_path)){
mkdir($upload_path);
}
//开始移动文件到相应的文件夹
// echo "file tmp_name".$file['tmp_name']."和".$upload_path.$file['name']; die;
$filename = substr($file['name'], strrpos($file['name'],".")); //把上传的图片改文件名
// echo $filename; exit();
if(move_uploaded_file($file['tmp_name'],iconv("utf-8","gbk",$upload_path.time().$filename))){
// if(move_uploaded_file($file['tmp_name'],$upload_path.time())){
// header("location:http://localhost/upload.php"); //上传成功跳转到成功页
echo "报名信息提交 成功!!";
unset($_SESSION["bmcode"]) ;
}else{
echo "报名信息提交 失败!!";
}
/**如果session存在 而且正确**/
}else{
echo"已经提交成功,不需要再次提交";
}
php递归删除空文件夹
步骤:
1.遍历目录及子目录
2.使用 scandir 判断目录是否为空,为空则使用rmdir 删除。
<?php
/** 删除所有空目录
* @param String $path 目录路径
*/
function rm_empty_dir($path){
if(is_dir($path) && ($handle = opendir($path))!==false){
while(($file=readdir($handle))!==false){ // 遍历文件夹
if($file!='.' && $file!='..'){
$curfile = $path.'/'.$file; // 当前目录
if(is_dir($curfile)){ // 目录
rm_empty_dir($curfile); // 如果是目录则继续遍历
if(count(scandir($curfile))==2){ // 目录为空,=2是因为. 和 ..存在
rmdir($curfile); // 删除空目录
}
}
}
}
closedir($handle);
}
}
$folder = '目标文件夹';
rm_empty_dir($folder);
?>