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>