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

Posted 可我浪费着我寒冷的年华

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跟着百度学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\\tmp\\php18B.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>";
 ?>

成功上传:

 



以上是关于跟着百度学PHP[13]-文件上传的主要内容,如果未能解决你的问题,请参考以下文章

跟着百度学PHP[14]-PDO的构造方法

跟着百度学PHP[5]函数篇2-PHP中的特殊形式的函数

跟着百度学PHP[10]-读取COOKIE案例

跟着百度学PHP[11]-PHP当中的异常处理

跟着百度学PHP[4]函数篇1-参数

跟着百度学PHP[14]-PDO的预处理语句2