PHP入门1.8

  • UploadFile实例

    • explode() 函数,把字符串打散为数组。
      • 函数语法 explode(separator,string,limit);
        参数详情
    • end()及相关函数

      • 输出数组中的最后一个元素的值:
      • 相关的方法:
        current() - 返回数组中的当前元素的值
        next() - 将内部指针指向数组中的下一个元素,并输出
        prev() - 将内部指针指向数组中的上一个元素,并输出
        reset() - 将内部指针指向数组中的第一个元素,并输出
        each() - 返回当前元素的键名和键值,并将内部指针向前移动
    • 表单的属性 enctype=”multipart/form-data”

      • enctype 属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制数据时,比如文件内容,请使用multipart/form-data
    • 简单UploadFile实例

html_Example:
    文件名:form.html

    <!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Upload File</title>
    </head>
    <body>
        <form name="form" method="POST" action="uploadFile.php" enctype="multipart/form-data">
            <label for="file">上传文件:</label>
            <input type="file" name="file" id="file"/>
            <input type="submit" name="submit" value="提交" />
        </form>
    </body>
</html>
Php_Example:
    文件名:uploadFile.php

<?php
    if($_FILES["file"]["error"] > 0){
        echo "错误:".$_FILES["file"]["error"]."<br>";
    }else{
        echo "上传文件名:".$_FILES["file"]["name"]."<br>";
        echo "文件类型:".$_FILES["file"]["type"]."<br>";
        echo "文件大小:".($_FILES["file"]["size"]/1024)."KB<br>";
        echo "文件储存位置:".$_FILES["file"]["tmp_name"]."<br>";
    }
?>
  • 限制上传文件格式和大小的Upload实例
    • in_array()搜索数组中是否存在指定的值
      • 语法:in_array(search,array,type)
(html表单文件不变)
Example:
文件名:uploadFile.php

<?php
    $allowedExts = array("jpg","gif","png","jpeg");
    $temp = explode(".",$_FILES["file"]["name"]);
    $extension = end($temp);
    /*  
        稍复杂的文件Upload实例
                                */
    if(($_FILES["file"]["type"] == "image/gif") || 
       ($_FILES["file"]["type"] == "image/jpeg")||
       ($_FILES["file"]["type"] == "image/jpg")||
       ($_FILES["file"]["type"] == "image/pjpeg")||
       ($_FILES["file"]["type"] == "image/x-png")||
       ($_FILES["file"]["type"] == "image/png") &&
       ($_FILES["file"]["size"] < 204800)&&
        in_array($extension,$allowedExts)){

            if($_FILES["file"]["error"] > 0){
                echo "错误:" . $_FILES["file"]["error"]."<br>";
            }else{
                echo "上传文件名:".$_FILES["file"]["name"]."<br>";
                echo "文件类型:".$_FILES["file"]["type"]."<br>";
            echo "文件大小:".($_FILES["file"]["size"]/1024)."KB<br>";
            echo "文件储存位置:".$_FILES["file"]["tmp_name"]."<br>";
            }
    }else{  
        echo "非法的文件格式或选择的文件大小超出200KB限制";
    }
?>
  • 保存上传的文件到指定路径的Upload实例
    • file_exists()函数用于判断文件是否已经存在
    • move_uploaded_file() 函数用于保存上传上来的文件
(html表单文件不变)
Example:
文件名:uploadFile.php

<?php
    $allowedExts = array("jpg","gif","png","jpeg");
    $temp = explode(".",$_FILES["file"]["name"]);
    $extension = end($temp);
    /*  
        稍复杂的文件Upload实例
                                */
    if(($_FILES["file"]["type"] == "image/gif") || 
       ($_FILES["file"]["type"] == "image/jpeg")||
       ($_FILES["file"]["type"] == "image/jpg")||
       ($_FILES["file"]["type"] == "image/pjpeg")||
       ($_FILES["file"]["type"] == "image/x-png")||
       ($_FILES["file"]["type"] == "image/png") &&
       ($_FILES["file"]["size"] < 204800)&&
        in_array($extension,$allowedExts)){

            if($_FILES["file"]["error"] > 0){
                echo "错误:" . $_FILES["file"]["error"]."<br>";
            }else{
                echo "上传文件名:".$_FILES["file"]["name"]."<br>";
                echo "文件类型:".$_FILES["file"]["type"]."<br>";
                echo "文件大小:".($_FILES["file"]["size"]/1024)."KB<br>";
                echo "文件储存位置:".$_FILES["file"]["tmp_name"]."<br>";
                //判断文件是否已经存在file_exists();
                if(file_exists("upload/".$_FILES["file"]["name"])){
                    echo $_FILES["file"]["name"]."文件已经存在";
                }else{
                    //将缓存文件路径里的文件转移到指定文件夹move_uploaded_file();
                    move_uploaded_file($_FILES["file"]["tmp_name"],"upload/".$_FILES["file"]["name"]);
                    echo "文件已经存储在: " . "upload/" . $_FILES["file"]["name"];
                }
            }
    }else{  
        echo "非法的文件格式或选择的文件大小超出200KB限制";
    }
?>

html

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值