php实现文件上传功能

无聊的很 就来写个博客吧 这次来简单写下 php 怎么实现上传文件 

废话不多说 开搞!

这是index文件

1  <form action="upload_file.php" method="post" enctype="multipart/form-data">
2     <input type="file" name="file" > <br/>
3     <input type="submit" name="submit">
4 </form>
// enctype就是encodetype就是编码类型的意思
// multipart/form-data是指表单数据有多部分构成,既有文本数据,又有文件等二进制数据的意思
// 需要注意的是:默认情况下,enctype的值是application/x-www-form-urlencoded,不能用于文件上传,只有使用了multipart/form-data,才能完整的传递文件数据

// application/x-www-form-urlencoded不是不能上传文件,是只能上传文本格式的文件,multipart/form-data是将文件以二进制的形式上传,这样可以实现多种类型的文件上传。

 

 

有了HTML文件之后就要新建一个php文件

这个是upload_file.php

 1 <?php
 2 
 3 if ((($_FILES['file']['type'] == 'image/gif') //如果文件属性是gif
 4  || ($_FILES['file']['type'] == 'image/jpeg') //如果文件属性是jpeg
 5  || ($_FILES['file']['type'] == 'image/pjpeg')) //如果文件属性是pjpeg
 6     && ($_FILES['file']['size'] < 20000))  //这个是并且小于20000kb的大小
 7 {
 8    if ($_FILES['file']['error'] > 0) 
 9    {
10      echo "Error:" .$_FILES['file']['error'].  "<br />"; //如果错误就打印错误
11    }
12    else
13    { 
14      echo "Name:" .$_FILES['file']['name'].  "<br />"; //输出文件名字
15      echo "Type:" .$_FILES['file']['type'].  "<br />"; //输出文件类型
16      echo "Size:" .($_FILES['file']['size']  / 1024). "KB <br />"; //输出文件大小
17      echo "Path:" .$_FILES['file']['tmp_name']. "<br />"; //输出文件的路径
18       if (file_exists("upload/" . $_FILES['file']['name']))
19      {    
//如果检测到文件名字就输出文件已经存在
20 echo $_FILES['file']['name']. "already exists"; 21 } 22 else 23 {
//否则的话就移动文件到upload目录
//注意:tmp_name 是上传者上传文件时的临时文件名字
24 move_uploaded_file($_FILES['file']['tmp_name'], "upload/". $_FILES['file']['name']); 25 echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; //最后输出文件的路径 26 } 27 } 28 } 29 30 else 31 { 32 echo "Error"; 33 } 34 35 ?>

程序结束 谢谢观看

我有错的地方请大神在下面评论一下哈~

猜你喜欢

转载自www.cnblogs.com/yanshi3/p/10200306.html