当前位置: 首页 > wzjs >正文

四川省住房和城乡建设网站外贸营销网站制作

四川省住房和城乡建设网站,外贸营销网站制作,dw可以做移动端网站,wordpress怎么把category免责声明:本文章仅用于交流学习,因文章内容而产生的任何违法&未授权行为,与文章作者无关!!! 附:完整笔记目录~ ps:本人小白,笔记均在个人理解基础上整理,…

免责声明:本文章仅用于交流学习,因文章内容而产生的任何违法&未授权行为,与文章作者无关!!!
附:完整笔记目录~
ps:本人小白,笔记均在个人理解基础上整理,若有错误欢迎指正!

1.6 🐘文件操作(PHP)

  1. 引子:本章对PHP项目中主要的文件操作函数做一介绍,当然由于$_FILES全局变量已在第一章介绍过,因此不再提及。

  2. 目录查看
    目录查看就是通过php函数查看当前项目所使用目录下存在的目录和文件,有些类似于Win&Linux中的dir&ls。常用的目录查看函数包括readdir()、scandir()等。
    readdir():

    <?php
    // opendir()用于返回一个已打开的目录句柄
    $dir = opendir('../');
    // readdir()通过目录句柄逐个读取目录内容
    while (($file = readdir($dir)) !== false) {echo $file.'<br>';
    }
    // closedir()用于关闭打开的目录句柄,释放资源
    closedir($dir);
    

    Result:
    image-20250216200853102

    scandir():

    <?php
    // scandir用于返回指定目录中文件&子目录的数组
    // 相较于readdir(),更加简洁
    $files = scandir('../');
    foreach ($files as $file) {echo $file.'<br>';
    }
    

    Result:同上。

  3. 文件读取
    常用的文件读取函数包括fgetc()、fgets()、fread()、file()、file_get_contents()等,同样我们通过简单的demo来测试一下。
    fgetc()&fgets()&fread():

    <?php
    // fopen()返回一个已打开的文件句柄
    $handle = fopen("test.php", 'r');// fgetc()每次读取一个字符并返回
    /*while (($char = fgetc($handle)) !== false) {echo $char.'<br>';
    }*/
    /*var_dump(fgetc($handle));
    // bool(false)*/
    // 当该文件读完后,此时文件句柄(也就是文件指针)
    // 已指向文件末尾,因此当执行其它f~函数时
    // 需注释掉上段操作// fgets()每次读取一行文本并返回
    /*while (($line = fgets($handle)) !== false) {echo $line.'<hr>';
    }*/// fread()读取开发者指定长度的内容
    // filesize()读取指定文件大小(字节)
    $contents = fread($handle, filesize("test.php"));
    echo $contents;// 关闭句柄,释放资源
    fclose($handle);
    

    file()&file_get_contents():

    <?php
    // file()用于读取整个文件,
    // 并将读取到的内容按行存放至数组中
    $lines = file("test.php");
    var_dump($lines);
    foreach ($lines as $line) {echo $line;
    }// file_get_contents()用于读取整个文件
    // 并将读取到的内容作为字符串返回
    $contents = file_get_contents("test.php");
    echo $contents;
    

    由这两段demo可以很明显的感觉到,第一段demo针对需读取的文件内容是一部分一部分读,而第二段demo则会将整个文件内容都加载。至于孰优孰劣,可能得依实际情况而定了。
    补:readfile():

    <?php
    // readfile()用于读取文件内容并将其直接加载至浏览器中
    // 常被应用于文件下载
    readfile("test.php");
    
  4. 文件下载
    demo:

    <?php
    // 设置要下载的文件路径
    $file = './Hua~.png';// 设置返回头信息实现文件下载
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename="'.basename($file).'"');// 上述所设头部信息仅是告诉浏览器当用户发起请求时执行文件下载操作
    // 但浏览器自身并不知晓该下载什么文件
    // 因此需要通过文件读取函数,先将文件内容返回到浏览器,再由浏览器执行下载操作
    readfile($file);
    
  5. 文件删除
    常见的文件删除函数为unlink(),demo:

    <?php
    $file = './test.php';// unlink()文件删除函数,用于删除指定路径下的文件,
    // 若成功删除则返回true
    if (unlink($file)) {echo '删除成功!';
    }else{echo '您无权删除该文件!';
    }
    
  6. 文件包含
    文件包含指,在php中可将被包含文件嵌入至当前脚本中并执行,提升了代码的复用性。常见的文件包含函数包括include()、require()、include_once()、require_once()等。
    demo:

    <?php
    echo "Hello ^_^~" . '<hr>';// 若include()包含文件不存在&无法访问,则会抛出警告但仍继续执行
    include('test.php');// 若require()~,则会抛出错误并终止执行
    require('test.txt');// include_once()与include()功能相同
    // 不过,它可检查当前文件是否已被包含,若已包含则不会再执行包含操作
    include_once('test.php');// require_once()同上
    require_once('test.txt');
    

    在文件包含中还有一个有意思的点,当被包含文件为文本文件时(.txt),此时若文件内容为php或html代码,则当包含该文件的脚本被执行时,其中的代码也会被执行。
    举个例子,当上述代码段中test.txt中的内容为:

    <!DOCTYPE html>
    <html lang="en">
    <body><h1>Hello sjjjer!</h1>
    </body>
    </html>
    <?php
    echo "^_^~".'<hr>';
    

    Result:
    image-20250217203912048

由这些文件操作函数导致的安全问题往往为,若传递给这些函数的参数用户可控,从而造成的任意文件读取&下载&删除&包含等。这里再引用一句小迪老师对于常见由Web端产生安全问题的总结,
安全问题 ⇔ 不安全的代码逻辑 + 用户可控的参数
至此,本章内容结束!

http://www.dtcms.com/wzjs/435866.html

相关文章:

  • asp+sql server典型网站建设案例(源码)3必应搜索引擎下载
  • 何鹏seoseo综合查询是啥意思
  • 红页网站如何做首页百度
  • 做b2b网站可以和对方还价吗百度云搜索引擎网站
  • 没网站可以做seo吗搜索引擎案例分析结论
  • 深圳建网站的百度手机助手app下载
  • 电子商务网站建设方案的总结微博推广方式有哪些
  • 凡科做的手机网站可以导出来20个排版漂亮的网页设计
  • 成都网站建设低价百度地址如何设置门店地址
  • 青海网站建设与维护惠州百度seo找谁
  • 如何做传奇私服网站长沙网站制作策划
  • 长沙做网站美工的公司电脑培训学校能学什么
  • 湖南网站优化服务百度快速排名优化服务
  • 做卫浴软管的网站白杨seo教程
  • 海南网站优化做推广公司
  • 网站图片命名规范发帖推广百度首页
  • 考试系统 微网站是什么样的seo站长工具
  • 贵阳网站设计多少钱百度推广一天烧多少钱
  • 男女做的那个视频网站一年的百度指数
  • 查网课答案的网站怎么做寰宇seo
  • 效果好企业营销型网站建设公司网站建站方式有哪些
  • 泰州网站建设推广知名seo公司
  • 团支部智慧团建网站佛山旺道seo
  • 农村电商网站建设方案郑州外语网站建站优化
  • 手机端网站建站流程开鲁网站seo不用下载
  • 莆田网站建设方案服务公司网站的推广方案
  • 清华大学学生工作做网站电子商务是干什么的
  • 潍坊网站制作软件qq推广链接
  • 怎么申请公司网站广东seo快速排名
  • wordpress搭建短视频网站最近的新闻大事20条