zoukankan      html  css  js  c++  java
  • 【辅导】Task11 熟悉PHP文件操作 主要知识点

    PHP中提供了许多对文件和文件夹(目录)进行操作的函数,详见《PHP手册-文件系统函数》:

    https://www.php.net/manual/zh/ref.filesystem.php

    本任务中只介绍几个常用的文件操作函数,了解如何读写文本文件,并掌握文件上传原理及文件上传控件的使用。

    1、获取文件信息

     

    file_exists相关:is_dir,is_file

    filetype获取的文件类型,是与unix相关的,意义如下:

    文件类型

    描述

    fifo

    命名管道,用于将信息的一个进程传递到另一个进程

    char

    字符设备

    Dir

    目录类型

    Block

    块设备类型

    Link

    符号链接,是指向文件的指针

    File

    普通文件类型

    unknown

    未知类型

    filemtime和fileatime获取的时间都是unix时间戳(int型)

    文件权限采用的也是unix系统的文件权限,可参考下面的文章:

    《理清PHP在Linxu下执行时的文件权限》:https://www.cnblogs.com/vishun/p/6950251.html

    2、文件与文件夹管理相关的函数

    目录管理:创建mkdir,删除rmdir,重命名(移动)rename

    文件管理:删除unlink,重命名(移动):rename,复制copy

    3、文本文件的读写

    读取文本文件可以采用以下几种方式:

    (1)读取整个文件内容

    readfile函数,读取文件内容并输出

    file_get_contents函数:文件内容作为函数值返回(string)。

    file函数:将文件内容以行为单位,读入到数组中。(返回值为字符串数组)

    (2)打开-读取-关闭

    打开文件,fopen函数,指定打开方式,创建文件资源;

     

    读取文件,可以使用fread函数(读取指定字符数),fgets函数(读取一行),fgetc函数(读取一个字符)

    关闭文件:fclose函数。

    写入文件也可以使用以下几种方式:

    (1)整体写入

    使用file_put_contents函数,将字符串写入到文件。

    (2)打开-写入-关闭

    fopen函数打开文件

    fwrite函数写入数据

    fclose关闭文件

    4、关于文件上传控件

    注意事项:表单(Form)的enctype属性必须为multipart/form-data

     

    PHP文件上传的原理是:

    (1)提交表单时,文件上传控件中文件上传到Web服务器xampp mp文件夹下,使用随机文件名(扩展名是tmp)。

    (2)你需要使用move_uploaded_file函数将文件移动到你所需要的地方,并进行改名。

    上传的文件信息可以使用全局数组$_FILES获取。

     注:$_FILE['file']['type']获取的是文件的MIME类型,MIME类型信息参见《MIME 参考手册》:https://www.w3school.com.cn/media/media_mimeref.asp

     $_FILE['file']['error']获取的文件上传代码如下:(感谢周广来同学提供)

    所以文件上传处理的一般步骤是:

        //判断文件是否上传成功

        if ($_FILES["file"]["error"] > 0){

            // 设置或输出错误信息

        }

        else {

            // 判断是否为合法的文件

            if (isImageFile($filename)){

                //合法文件移动到目标处,自行决定是否对文件改名

                move_uploaded_file($filelocation,"upload/".$filename);

            }

    }

    如果使用多个文件控件,可以实现多文件上传。

     

    例如,假设名为 /home/test/review.html 和 /home/test/xwp.out 的文件被提交,则 $_FILES['userfile']['name'][0] 的值将是 review.html,而 $_FILES['userfile']['name'][1] 的值将是 xwp.out。类似的,$_FILES['userfile']['size'][0] 将包含文件 review.html 的大小,依此类推。

    5、关于实验作业

    本任务没有设置实验作业,但需要大家参照视频(课件)中的例子,练习如何实现文件上传。

  • 相关阅读:
    jQuery之.on()方法
    18款 非常实用 jquery幻灯片图片切换
    jquery 处理字符串
    JS中document.createElement()用法及注意事项
    jquery 创建 SVG DOM 的处理方法
    jQuery append xmlNode 修改 xml 内容
    jQuery与XML
    浏览器中的XML与JavaScript
    DOM(文本对象模型)简介
    用jQuery 处理XML-- jQuery与XML
  • 原文地址:https://www.cnblogs.com/whitewin/p/12610986.html
Copyright © 2011-2022 走看看