1 <?php 2 //获取提交文件的相关信息需要用$_FILES[] file数组获取 3 //取文件信息 4 $arr =$_FILES["file"]; 5 //var_dump($arr["name"]); 6 //$arr["name"]原来的文件名 7 8 //用户上传的临时文件的路径 9 //$arr["tmp_name"]; 10 11 //我们想把这个文件存放的位置是当前文件夹的images文件夹里并且重新命名该文件为11.jpg 12 $filename = "./images/11.jpg"; 13 14 //windows系统采用的编码格式不是UTF-8的形式而是 国标的gb2312格式 15 //所以往windows里面存东西的时候要转化为国标的gb2312的编码格式存储才可以 16 //转换编码格式: 意思就是将$filename的编码格式UTF-8转化为gb2312的格式形成一个新的$filename 17 $filename = iconv("UTF-8","gb2312",$filename); 18 19 //移动临时文件到我们想存放的位置 20 //括号内的第一个参数是临时文件的路径 也就是 $arr["tmp_name"]; 21 //第二个参数是要移动到的位置 也就是 $filename 22 move_uploaded_file($arr["tmp_name"],$filename); 23 24 25 26 27 28 29 30 31 <?php 32 //添加上传文件的限制条件 33 //1.控制文件的类型 34 //2.控制文件的大小 35 //3.保存的文件名不重复 36 37 if($arr["type"]=="image/jpeg" || $arr["type"]=="image/png" && $arr["size"]<1024000) 38 { 39 //在新建的文件的名里面拼加用户名和时间戳来防止文件重复 40 $filename = "./images/".$uid.time().$arr["name"]; //在保存之前加if语句判断 41 42 if(file_exists($filename)) //保存之前判断该文件是否存在 43 { 44 echo "该文件已存在"; 45 } 46 else 47 { 48 $filename = iconv("UTF-8","gb2312",$filename); 49 move_uploaded_file($arr["tmp_name"],$filename); 50 } 51 } 52 else 53 { 54 echo "上传的文件大小或类型不正确"; 55 }
//前台页面(接上面):
1 </head> 2 3 <body> 4 <h1>上传文件</h1> 5 6 enctype="multipart/form-data" //如果是上传文件的话得需要写个属性enctype代表规定了一个数据类型 7 8 9 <form action="chuli.php" method="post" enctype="multipart/form-data"> 10 请选择文件:<input type="file" name="file" /> 11 <input type="submit" value="上传" /> 12 13 14 </form> 15 //一点击上传,它就把这个文件放在服务器上一个暂时存放临时文件的地方,然后把上传这个文件的相关信息交给 16 //action的处理页面 17 //文件存放在服务器存放临时文件的地方 18 //文件的相关信息交给处理页面 19 </body> 20 21 </html>
时间: 2024-10-11 22:22:23