php文件上传

php文件上传步骤

*     1 使用form的中的input上传  

       2 使用$_FILES获取上传文件的信息  
*     3 上传文件 存放在 php.ini 中的 upload_tmp_dir 的这个参数设置的目录,如果没有设置存放在默认目录
*     4 移动临时文件到需要的地方

php文件上传的配置项(php.ini)

 file_uploads       确定服务器上的php脚本是否可以接受HTTP文件上传

memory_limit      设置脚本可以分配的最大内存量,防止失控的脚本独占服务器内存

upload_max_filesize    限制php处理上传文件的最大值,此值必须小于post_max_size值

upload_tmp_dir             上传文件的临时路径

代码部分

       pathinfo() 函数返回的信息是根据里面的参数字符串决定的与路径是否存在没有关系

    $path_parts  =  pathinfo ( '/path/emptyextension.dd' );      
    var_dump ( $path_parts); 返回的信息如下:所填路径根本不存在

      

 

form 表单中的 enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码。

默认地,表单数据会编码为 "application/x-www-form-urlencoded"。就是说,在发送到服务器之前,所有字符都会进行编码(空格转换为 "+" 加号,特殊符号转换为 ASCII HEX 值)。

enctype :常用的三种


<?php
header('Content-type:text/html');
//打印所有post参数
echo "<pre>";
print_r($_POST);
//打印上传的文件信息
print_r($_FILES);
echo "<pre>";
if (!empty($_FILES) && ($_FILES['myFile']['error']) == 0) {
    if (is_uploaded_file($_FILES['myFile']['tmp_name'])) {
        //打印路径信息
        $fileInfo = pathinfo($_FILES['myFile']['name']);
        $fileExtension = $fileInfo['extension'];
        $fileName = uniqid(rand(1000, 9999) . '_');
        $filePath = './upload/' . $fileName . '.' . $fileExtension;
        //上传的临时文件移动到指定文件
        if (move_uploaded_file($_FILES['myFile']['tmp_name'], $filePath)) {
            echo "****上传文件成功****";
        } else {
            echo "上传失败";
        }
    } else {
        exit("没有获取到文件");
    }
}

?>

<html>
<head>
    <title>文件上传</title>
</head>
<style>
    ul li {
        margin: 20px 10px;
        list-style-type: none;
    }
</style>
<body>
 //form中的action为空时表示上传到当前页面路由
<form method="post" action="" enctype="multipart/form-data">
    <ul>
        <li><input type="file" name="myFile"></li>
        <li><input type="text" name="name"></li>
        <li><input type="submit" value="上传" name="submit"></li>
    </ul>


</form>
</body>

</html>

上传前的效果

上传后的效果

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值