php日记——文件上传处理

刚刚接触php难免会遇到很多坑

在文件上传处也有一个坑

首先要配置好phpstorm

不然会出现找不到这个index的情况

详情请看我的另一篇文章

http://blog.csdn.net/qq_32198277/article/details/50821992


一般我们上传表单都是

<html>
<body>
<form action="showpic.php" method="post" >
    Name:<input type="text" name="name"><br>
    <input type="submit">
</form>
</body>
</html>

处理表单就是

<html>
<body>

<?php
print_r($_POST['name']);
?>

</body>
</html>

但如果是上传文件的话

将表单改为

<html>
<body>
<form action="showpic.php" method="post" >
    <input type="file" name="pic"><br>
    <input type="submit">
</form>
</body>
</html>
处理的改为

<html>
<body>

<?php
print_r($_FILES['pic']);
?>

</body>
</html>
则会报错


Notice: Undefined index: pic in D:\xampp\htdocs\test\showpic.php on line 5


后来仔细看了一下视频然后又百度一下

发现我漏了一个很重要的地方

在表单要声明类型

enctype="multipart/form-data"

application/x-www-form-urlencoded: 窗体数据被编码为名称/值对。这是标准的编码格式;
multipart/form-data: 窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分,上传附件用到;
text/plain: 窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。
enctype="multipart/form-data是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作
 
正确的表单应该是
<html>
<body>
<form action="showpic.php" method="post" enctype="multipart/form-data">
    <input type="file" name="pic"><br>
    <input type="submit">
</form>
</body>
</html>

在showpic.php处理和输出图片为
<html>
<body>

<?php
$file=$_FILES['pic'];
$name=$file['name'];
move_uploaded_file($file['tmp_name'],$name);
echo "<img src='$name'>"
?>

</body>
</html>




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值