• php fopen函数


    php中没有单独的文件创建函数,如果我们想创建函数,可以使用fopen(),fopen()函数字面意思是打开文件,但该函数也有创建文件的功能,当使用 fopen() 函数打开一个文件时,如果文件不存在,则会尝试创建该文件,并返回一个资源。

    php fopen函数介绍

    fopen函数打开文件或者 URL

    语法:

    resource fopen( string filename, string mode )

    fopen()将 filename 指定的名字资源绑定到一个流上。

    参数:

    1. filename为尝试打开/创建的文件名。

    如果 filename 是 "scheme://..." 的格式,则被当成一个 URL,PHP 将搜索协议处理器(也被称为封装协议)来处理此模式。如果该协议尚未注册封装协议,PHP 将发出一条消息来帮助检查脚本中潜在的问题并将 filename 当成一个普通的文件名继续执行下去。

    如果 PHP 认为 filename 指定的是一个本地文件,将尝试在该文件上打开一个流。该文件必须是 PHP 可以访问的,因此需要确认文件访问权限允许该访问。如果激活了安全模式或者 open_basedir 则会应用进一步的限制。

    如果 PHP 认为 filename 指定的是一个已注册的协议,而该协议被注册为一个网络 URL,PHP 将检查并确认 allow_url_fopen 已被激活。如果关闭了,PHP 将发出一个警告,而 fopen 的调用则失败。

    2. mode 指定了打开模式,其可能的值如下:

    打开模式说明
    r 只读,并将文件指针指向文件开始位置
    r+ 读写,将文件指针指向文件开始位置
    w 只写,将文件指针指向文件开始位置并将文件内容清空,如果文件不存在则尝试创建之
    w+ 读写,将文件指针指向文件开始位置并将文件内容清空,如果文件不存在则尝试创建之
    a 追加,将文件指针指向文件末尾来操作,如果文件不存在则尝试创建之
    a+ 读写追加,将文件指针指向文件末尾来操作,如果文件不存在则尝试创建之
    x 只写,并创建文件,如果文件已存在,则 fopen() 调用失败并返回 FALSE
    x+ 读写,并创建文件,如果文件已存在,则 fopen() 调用失败并返回 FALSE

    php fopen函数实例

    1、使用fopen函数创建文件:

    1
    2
    $my_file = 'file.txt';//如果文件不存在(默认为当前目录下)
    $handle = fopen($my_file, 'w') or die('Cannot open file: '.$my_file); //implicitly creates file

    2、使用fopen函数打开文件:

    1
    2
    $my_file = 'file.txt';//假设文件file.txt存在
    $handle = fopen($my_file, 'w') or die('Cannot open file: '.$my_file); //open file for writing ('w','r','a')...

    3、fopen函数结合fread读取文件:

    1
    2
    3
    $my_file = 'file.txt';
    $handle = fopen($my_file, 'r');
    $data = fread($handle,filesize($my_file));

    4、fopen函数结合fwrite函数写文件

    1
    2
    3
    4
    $my_file = 'file.txt';
    $handle = fopen($my_file, 'w') or die('Cannot open file: '.$my_file);
    $data = 'This is the data';
    fwrite($handle, $data);

    5、fopen函数结合fwrite函数向文件中追加内容:

    1
    2
    3
    4
    5
    6
    $my_file = 'file.txt';
    $handle = fopen($my_file, 'a') or die('Cannot open file: '.$my_file);
    $data = 'New data line 1';
    fwrite($handle, $data);
    $new_data = " ".'New data line 2';
    fwrite($handle, $new_data);

    6、fopen() 函数还可用于打开互联网上的 URL 地址:

    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $fh = fopen("http://www.baidu.com/", "r");
    if($fh){
      while(!feof($fh)) {
        echo fgets($fh);
      }
    }
    ?>

    注意:fopen() 返回的只是一个资源,要想显示打开的页面地址,还需要用 fgets() 函数读取并输出。

  • 相关阅读:
    Requests 库
    Mac下终端配置(item2 + oh-my-zsh + solarized配色方案)
    中文名文件上传到linux服务器上以后文件名会乱码(openoffice)
    scp
    请求https前缀的网站验证SSL证书的解决方案之一
    jupyter notebook更换主题 步骤详解。
    jupyter nbextensions的 安装
    装饰器的学习 高级版-- 语法糖参数
    装饰器的学习 初级版-- 高阶函数,嵌套函数,闭包
    Python数据可视化的完整版操作指南(建议收藏)
  • 原文地址:https://www.cnblogs.com/xiaobai141/p/14190668.html
Copyright © 2020-2023  润新知