• php-文件存取


        更改文件的权限,组别及所有者

    •     chmod(f,mode)
    •     chgrp(f,group)
    •     chown(f,owner)

        复制文件

    •     copy(src,dst)

        返回目录的可用空间

    •     disk_free_space(dir)

        把整个文件读入一共数组中

    •     file(f)
    •     file(f,flag)

        检查文件或目录是否存在

    •     file_exists(f)

        将文件读取字符串

    •     file_get_contents(f)

        将字符串写入文件

    •     file_put_contents(f,text)
    •     file_put_contents(f,text,flag)

        返回一个包含匹配指定模式的文件名/目录的数组

    •     glob(pattern)

     返回文件的上次修改时间

    •     filemtime(f)

        返回文件的权限

    •     fileperms(f)

        返回文件大小

    •     filesize(f)

        判定我、指定的文件名是否是一个目录

    •     is_dir(f)

        判断文件是否可读/可写

    •     is_readable(f)
    •     is_writable(f)

        创建目录

    •     mkdir(dir)
    •     mkdir(dir,perms,recusive)

        重命名文件或目录

    •     rename(src,dst)

        删除空的目录

    •     rmdir(dir)

        返回目录中所有文件名

    •     scandir(dir)

        删除文件

    •     unlink(f)

     file_put_contents、file_get_contents、file实现文件的读写---翻转文字区别(一个是数组、一共是字符串)

    1. function reverse_line($filename){
    2. $text=file_get_contents($filename);//产生的是字符串
    3. echo "字符串:".$text;
    4. echo "
      "
      ;
    5. $lines=explode("\n",$text);//将字符串以指定的分隔符分成数组
    6. print_r($lines);
    7. echo "
      "
      ;
    8. $lines=array_reverse($lines);//翻转数组
    9. print_r($lines);
    10. echo "
      "
      ;
    11. $text=implode("\n",$lines);//将数组转换成字符串
    12. echo $text;
    13. echo "
      "
      ;
    14. file_put_contents($filename,$text);//将字符串写入数组
    15. echo "
      "
      ;
    16. }
    17. function reverse_lines($filename){
    18. $lines=file($filename);//读入的是数组
    19. print_r($lines);
    20. echo "
      "
      ;
    21. $lines=array_reverse($lines);
    22. print_r($lines);
    23. echo "
      "
      ;
    24. $text=implode("",$lines);//将数组转换成字符串
    25. echo $text;
    26. echo "
      "
      ;
    27. file_put_contents($filename,$text);//将数组转换成字符串写入文件中
    28. echo "
      "
      ;
    29. }
    30. $a="test.txt";
    31. reverse_lines($a);
    32. //reverse_line($a);
    33. ?>

    计算文件中空行的个数:(数组中开始和结尾的空格长度为0--一定是空行)

    //trim移除字符串左右两侧的空格——如果长度为0就是空行

    1. function count_blank_lines($filename){
    2. $count=0;//用来计数
    3. foreach(file($filename) as $line){//file($filename)读取文件内容保存在数组中
    4. //foreach遍历数组中的元素
    5. if(strlen(trim($line))==0){//trim移除字符串左右两侧的空格——如果长度为0就是空行
    6. $count++;
    7. }
    8. }
    9. return $count;
    10. }
    11. $a="test.txt";
    12. echo count_blank_lines($a);
    13. ?>

        返回目录中所有文件名(实际上对于某一个目录都有两个特殊的文件.文件和..文件)

    •     scandir(dir)-注意文件的路径问题
    1. $a="测试";
    2. $files=scandir($a);
    3. foreach($files as $file){
    4. print "{$a}文件下的文件有:{$file}
      "
      ;
    5. }
    6. ?>

    通过条件过滤、过滤掉不需要的文件(加上判断)

    返回一个包含匹配指定模式的文件名/目录的数组

    •     glob(pattern)---------该文件下面的jpg文件
    1. $a="测试";
    2. foreach(glob("$a\*.jpg") as $file){
    3. print "{$a}文件下的文件有:{$file}
      "
      ;
    4. }
    5. ?>

     类和对象

    1. class name{
    2. private $name;//字段
    3. public function __onstruct(name){ //构造体(初始化新对象)
    4. statement;
    5. }public function name(paremeters){//方法(对象的行为)
    6. statement;
    7. }
    8. }
    9. //使用this应用类和方法
    10. $this->fieldName
    11. $this->methodName(paremeters);
    12. ?>

    创建银行账户类”————注意使用的是两个下划线

    1. class bankaccount{//定义一个银行账户类
    2. private $name;//字段
    3. private $balance;//字段
    4. public function __construct($name){ //构造体(初始化新对象)
    5. $this->name=$name;
    6. $this->balance=0.00;
    7. }
    8. public function getbalance(){//方法1_获取账户的金额
    9. return $this->balance;
    10. }
    11. public function getname(){//方法2——获取账户的姓名
    12. return $this->name;
    13. }
    14. public function deposit($amount){//方法3-存款进账户
    15. if($amount>=0){
    16. $this->balance+=$amount;
    17. }
    18. }
    19. public function withdraw($amount){//方法4-取款出账户 取的钱小于有的钱才可以存储
    20. if($amount>=0&&$amount<=$this->balance){
    21. $this->balance-=$amount;
    22. }
    23. }
    24. public function __toString(){//方法5-输出姓名—+金额
    25. return "{".$this->name.",$".$this->balance."}";
    26. }
    27. }
    28. ?>

    使用new创建对象 

    1. Document
    2. include("exp1.php");
    3. $account1=new bankaccount("张三");//new 创建对象
    4. $account1->deposit(5);
    5. $account1->withdraw(2.3);
    6. $account1->withdraw(2.3);
    7. $account2=new bankaccount("李四");//new 创建对象
    8. $account2->deposit(50);
    9. $account2->deposit(-7);//存款只有大于0才有效
    10. ?>
    11. $account1?>
    12. $account2?>
  •  

     

  • 相关阅读:
    SI24R2F+畜牧业养殖方案
    FastReport浏览器直接打印无须预览(2023终版)
    Spring——【第一章入门】:核心Aop与Ioc
    一年前 LLM & AGI 碎片化思考与回顾系列④ · System2慢思考下的暴力美学
    SpringBoot+Vue实现前后端分离OA办公管理系统
    Java开发学习(三十五)----SpringBoot快速入门及起步依赖解析
    操作系统备考学习 day2 (1.3.2 - 1.6)
    SpringDataJPA-02-增删改查的基本实现
    【华为OD机试真题 python】 字符串筛选排序【2022 Q4 | 100分】
    MySQL进阶篇3-视图和存储过程以及触发器的学习使用
  • 原文地址:https://blog.csdn.net/weixin_47295886/article/details/126343512