hi,你好!欢迎访问本站!登录
本站由网站地图腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - 教程 - 杂谈 - 正文 君子好学,自强不息!

【杂谈】PHP文件上传要领详解及其信息剖析【附视频】

2019-11-18杂谈搜奇网45°c
A+ A-
本篇文章主要给人人细致引见PHP文件上传要领及其信息剖析。

用php完成文件上传功能在PHP项目开辟中是比较罕见的,然则关于一些新手来讲也许有些难度,下面我们经由过程详细的代码实例给人人细致申明注解。

起首建立一个文件上传的HTML form表单.

代码示例以下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
 挑选文件举行上传: <input type="file" name="file">
    <input type="submit" value="上传">
</form>
</body>
</html>

结果如图:


在上述代码中,我们给input按钮设置了file范例,而且给上传的文件名称也设置为file。当我们点击挑选文件或许图片时,form表单数据就会发送到upload.php中,然后对上传的文件举行相干的操纵。

那末在upload.php文件中,我们将定义一个要领对上传的文件举行相干信息剖析操纵.

详细代码示例以下:

<?php
$fileInfo = $_FILES['file'];
var_dump($_FILES['file']);

function upload_file($fileInfo, $upload = "./upload", $imagesExt = ['gif', 'png', 'jpg'])
{
    if ($fileInfo['error'] === 0) {
        $ext = strtolower(pathinfo($fileInfo['name'], PATHINFO_EXTENSION));
        if (!in_array($ext, $imagesExt)) {
            return "文件不法范例";
        }
        if (!is_dir($upload)) {
            mkdir($upload, 0777, true);
        }
        $fileName = md5(uniqid(microtime(true), true)) . "." . $ext;
        $destName = $upload . "/" . $fileName;
        if (!move_uploaded_file($fileInfo['tmp_name'], $destName)) {
            return "文件上传失利!";
        }
        return "文件上传胜利!";
    } else {
        switch ($fileInfo['error']) {
            case 1:
                echo '上传的文件超过了 php.ini 中 upload_max_filesize 选项限定的值';
                break;
            case 2:
                echo '上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值';
                break;
            case 3:
                echo '文件只要部份被上传';
                break;
            case 4:
                echo '没有文件被上传';
                break;
            case 6:
                echo '找不到临时文件夹';
                break;
            case 7:
                echo '文件写入失利';
                break;
        }
    }
}
var_dump(upload_file($fileInfo));

在上述PHP代码中定义了一个变量$fileInfo来吸收form表单上传来的数据,再用var_dump函数打印出上传文件file的信息,且以数组体式格局显现。

那末在还没有设置要领对文件举行推断时,直接经由过程浏览器接见涌现的结果以下图:


提醒:error示意的是毛病信息申明,这里的毛病号为0,即示意上传的文件没有任何毛病。然则在PHP手册中,毛病号不止为0 。

下面经由过程表格情势给人人简朴总结下error毛病号的几种状况

值为 0
值为 1 值为 2 值为 3 值为 4 值为 6 值为 7
没有毛病发作,文件上传胜利。 上传的文件超过了php.ini中 upload_max_filesize 选项限定的值。 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。 文件只要部份被上传。 没有文件被上传 找不到临时文件夹。PHP 4.3.10 和 PHP 5.0.3 引进。 文件写入失利。PHP 5.1.0 引进。

那末在了解了error毛病号的相干学问后,我们就能够设想PHP上传要领,来对上传文件举行多种推断。在上述代码中已给人人异常细致的写出了要领推断的详细代码,起首我们定义了upload_file()这个要领,个中给予了三个参数,离别示意文件上传信息,目次以及剖断文件范例的一个数组。

然后运用if else以及switch推断语句对上传文件举行逐一推断。

这里的要领里离别依据了文件的范例、上传文件夹存在与否以及error毛病信息状况来举行推断的。

末了我们上传一个图片后,显现的终究结果为下图:

注:上述代码中md5()函数不是用来加密,而是用来编码的。

以上文章内容就是关于PHP文件上传的详细要领引见,愿望对有须要朋侪有所协助!其对应的视频教程是【PHP文件上传信息剖析以及封装上传要领】可供人人参考进修!

以上就是PHP文件上传要领详解及其信息剖析【附视频】的细致内容,更多请关注ki4网别的相干文章!

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  移步手机端
【杂谈】PHP文件上传要领详解及其信息剖析【附视频】

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章

本文来源:搜奇网

本文地址:https://www.sou7.cn/281824.html

关注我们:微信搜索“搜奇网”添加我为好友

版权声明: 本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。请记住本站网址https://www.sou7.cn/搜奇网。

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>