zoukankan      html  css  js  c++  java
  • php lesson~文件相关(文件函数,文件上传数据处理)

    文件开闭:

    fopen($file,"r"):打开文件

    $file:url格式/本地文件(必须有访问权限;

    “r”:文件访问类型===>

    mode 访问方式 文件指针 写入形式
    r 只读 文件头  
    r+ 读写 文件头  
    w 写入 文件头,并将文件大小截为0 覆盖原有内容
    w+ 读写 文件头,并将文件大小截为0,文件不存在则创建  
    a 写入 文件末尾,文件不存在则创建  
    a+ 读写 文件末尾,文件不存在则创建 在原有内容基础上写入

    fclose():关闭文件 

    文件读取:

    fread($file,$length):读取文件

    $length:文件指针最多读取length个字节

    停止读取:读取了length字节、到达文件末尾(EOF)

    fgets($fp):逐行读取文件 

    文件指针:

    feof($fp):判断文件指针是否到了结束位置

    到达末尾返回true,反之false

    //结合文件的逐行读取fgets:
    while(!feof($fp)){   //读取前先判断是否到了结尾,到结尾则条件为false,不会再读取   $string = fgets($fp);   echo $string; }

     

    fseek($fp,$length):在文件指针中定位

    $length:值指针从文件头开始以字节数度量的新位置

    应用:写入文件,写入之后指针在末尾,下次读取时需要将指针设置为0的位置

    fwrite($fp,"123");
    fseek($fp,0);//将指针位置移动到0的位置读取
    fread($fp);
    

      

    fwrite($string,"a+"):写入文件

    文件数据处理

    文件通过表单上传时要在form表单中写入:enctype="multipart/form-data

    $_FILES :接收上传文件的信息,原始数据如下:

      array(1) {
        ["fileup"]=>
        array(5) { ["name"]=> string(10) "enemy2.png"
        ["type"]=> string(9) "image/png"
        ["tmp_name"]=> string(45) "/Applications/XAMPP/xamppfiles/temp/phptoEbcS"
        ["error"]=> int(0)
        ["size"]=> int(175749) }
      } 
    获取:$file=$_FILES["fileup"]
    获取文件信息:
    $name=$file["name"];--文件名
    $type=$file["type"];----文件类型
    $size=$file["filesize"];--文件的大小
    $error=$file["error"];---文件错误信息
    $tam=$file["tmp_name"];-上传文件的临时路径
     

             nae 上传的文件原文件名,不代表文件,仅仅是

    move_uploaded_file($filename,$destination):将上传文件移动到新的位置

    $filename:临时路径

    $destination:目标路径

    返回值:成功返回true,不成功返回false(可以作为判断条件) 

    只拷贝上传的文件,非上传文件不会被拷贝(点击上传以后拷贝)

    //文件只是单纯拷贝文件名,之后就会自动消失,所以要判断文件是否移动成功;
    if(move_uploaded_file($upfile['tmp_name'],$upfile['name'])){ return $upfile['name']; };

    copy(上传原文件路径,目标路径)

     

  • 相关阅读:
    几种php加速器比较
    细说firewalld和iptables
    Linux上iptables防火墙的基本应用教程
    mysql 字符串按照数字类型排序
    《设计模式之禅》之六大设计原则下篇
    《设计模式之禅》之六大设计原则中篇
    《设计模式之禅》之六大设计原则上篇
    git bash 乱码问题之解决方案
    nexus没有授权导致的错误
    Java之微信公众号开发
  • 原文地址:https://www.cnblogs.com/ydfqixn/p/7816701.html
Copyright © 2011-2022 走看看