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 ?>
程序结束 谢谢观看
我有错的地方请大神在下面评论一下哈~
------此时淌的哈喇子,将成为明天的眼泪!