PHP基础(016)---文件处理

在PHP编程中,经常要对数据进行处理,可以采用数据库和文本两种方式存储数据。

一)文件处理分3步:

  • 打开文件 fopen()
  • 读取文件
    • 从文件中读取数据:
      • readfile() ---不需要打开/关闭文件,不需要echo/print等输出语句
      • file() ---常与foreach一起使用
      • file_get_contents()
    • 读取一行数据
      • fgets() ---用于一次读取一行数据
      • fgetss() ---用于读取一行数据,同时fgetss()函数会过滤掉被读取内容中的html和php标记。也可使用allowable_tags参数来控制哪些标记不被过滤。
    • 读取一个字符
      • fgetc()
    • 读取任意长度的字串
      • fread()
  • 将数据写入文件
    • fwrite() ---要与fopen(),fclose()一起使用
    • file_put_contents() ---单独使用即可达到上面3个函数同样的效果
  • 关闭文件fclose()

二)操作文件函数

  • copy()
  • rename()
  • unlink()
  • fileatime()
  • filemtime()
  • filesize()
  • pathinfo()
  • realpath() ---返回绝对路径
  • stat()
  • 略...

三)目录处理同样分3步

  • 打开目录
    • opendir()
  • 浏览目录
    • scandir() ---与foreach一起使用
  • 关闭目录
    • closedir()

四)操作目录

  • mkdir() ---新建一个指定目录
  • rmdir() ---删除空的目录
  • getcwd()---取得当前工作的目录
  • chdir() ---改变当前目录为directory
  • disk_free_space()
  • disk_total_space()
  • readdir()
  • rewinddir() ---将指定的目录重新指定到目录的开头
  • 略...

五)文件处理的高级应用:

  • 远程文件的访问
    • fopen()  ---修改php.ini里面的allow_url_fopen这一行,将该行选项设为ON.
  • 文件指针
    • feof() ---测试指针是否到了文件的结束的位置
    • ftell() ---返回当前指针的位置
    • fseek() ---实现文件指针的定位
    • rewind() ---将文件handle的指针设为文件流的开头
    • 略...
  • 锁定文件
    • flock() ---参数值 :LOCK_SH(取得共享锁定),LOCK_EX(取得独占锁定),LOCK_UN(释放锁定),LOCK_NB(防止flock()在锁定时堵塞
  • 文件上传
    • 相关php.ini的设置
      • file_uploads = ON
      • upload_tmp_dir
      • upload_max_filesize = 2MB
      • max_execution_time (秒)
      • memory_limit(MB)
    • 预定义变量: $_FILES
    • 文件上传函数 : move_uploaded_file()
    • 多文件上传 : move_uploaded_file + for循环

 

posted on 2014-05-01 18:43  lbsf  阅读(109)  评论(0)    收藏  举报

导航