跟着百度学PHP[13]-文件上传

PS:上传的时候一定要用POST方法,GET方法不行。

文件上传的entype要改成“mutilpart/form-data”这个编码

<html>
    <form action="upload.php" method="POST" enctype="mutilpart/form-data">
    <input type="hidden" name="MAX_FILE_SIZE">
    uplaod file:<input type="file" name="pic" value="">
    <input type="submit" value="uplaod" name="pic">
    </form>
</html>
<input type="hidden" name="MAX_FILE_SIZE">是一个隐藏的表单。MAX_FILE_SIZE是做的允许上传的值,默认的MAX_FILE_SIZE是2M.

但是这个也是可以更改的,在PHP.ini当中进行修改,但是修改的同时,所有的POST都会被修改成那个数据,比如你的一个POST登陆的表单。

直接上传的是被上传到服务器的临时目录了,如果要真正的完成上传,那么就得将上传到临时目录当中得文件复制到指定目录如此才是完成了一次真正得上传,我们可以使用copy,但是mysql为我们提供了move_uploaded_file函数。

文件的接收是用$_FILES

我们可以将接收的upload.php将上传的文件作为i数组输出$_FILES试试。

<?php 
header("content-type:text/html;charset=utf-8");
echo "<pre>";
print_r($_FILES);
echo "</pre>";
 ?>

输出效果如下所示:

可知临时文件保存在了D:wamp mpphp18B.tmp那么我们使用move_uploaded_file复制到我们指定的目录如此一次简单的上传便完成。下面来看具体的代码。

<?php 
header("content-type:text/html;charset=utf-8");
echo "<pre>";
print_r($_FILES);
$tem_file = $_FILES['pic']['tmp_name'];#临时路径
$new_file = "./uploads/".$_FILES['pic']['name'];#要移动的路径。
if(move_uploaded_file($tem_file,$new_file)){//如果移动成功就输出上传成功,否则失败
    echo "成功上传";
}else{
    echo "上传失败";
}
echo "</pre>";
 ?>

成功上传:



原文地址:https://www.cnblogs.com/xishaonian/p/6411621.html