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 else13  { 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 ?>

 

程序结束 谢谢观看

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

 

相关文章