博客列表 >文件目录的遍历以及上传操作--2018年08月29日14时30分

文件目录的遍历以及上传操作--2018年08月29日14时30分

一根火柴棒的博客
一根火柴棒的博客原创
2018年08月29日 14:16:11664浏览

1.编程: 文件上传与检测:


实例

<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']) ?>" method="post" enctype="multipart/form-data">
    <input type="hidden" name="MAX_FILE_SIZE" value="542488">
    <fieldset>
        <legend>文件上传</legend>
        <input type="file" name="upload">
    </fieldset>
    <p align="center">
        <button type="submit">上传</button>
    </p>
</form>

<?php


if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    //检测是否是上传功能
    if (isset($_FILES['upload'])) {
        $allow = ['image/jpg', 'image/jpeg', 'image/png'];
        if (in_array($_FILES['upload']['type'], $allow))
        {
            $tempFile = $_FILES['upload']['tmp_name'];
            $destFile = $_FILES['upload']['name'];

            if (move_uploaded_file($tempFile, "upload/$destFile"))
            {
                echo '<script> alert("上传成功")</script>';
            } else {
                echo '<script> alert("文件上传格式不对")</script>';
            }
        }

        //上传错误进行判断
        $err = $_FILES['upload']['error'];
        if ($err > 0)
        {
            echo '<p>错误原因是:<strong>';
            switch ($err)
            {
                case 1:
                    $str = '文件超过php.ini中设置的大小';
                    break;
                case 2:
                    $str = '文件超过表单常量设置的大小';
                    break;
                case 3:
                    $str = '仅有部分上传';
                    break;
                case 4:
                    $str = '没有文件上传';
                    break;
                default:
                    $str = '未知错误';
            }
            echo $str;
        }

    }
} else {
    exit('请求类型错误');

}
?>

运行实例 »

点击 "运行实例" 按钮查看在线实例


2.编程: 目录遍历:

实例

<?php
        //遍历目录方法1
       $dir =  opendir('../0824') or die('打开失败');
       while(false != ($file = readdir($dir))){
           if ($file != ".." && $file != "."){
               print nl2br($file."\n");
           }
       }

       echo '<hr>';
        //遍历目录方法2
       $fileArr = scandir('../0829');
       foreach ($fileArr as $file) {
           if ($file != ".." && $file != "."){
               print nl2br($file."\n");
           }
       }
?>

运行实例 »

点击 "运行实例" 按钮查看在线实例


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议