当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP fopen()用法及代码示例


PHP 中的 fopen() 函数是一个内置函数,用于打开文件或 URL。它用于使用特定文件名将资源绑定到蒸汽。要检查的文件名和模式作为参数发送到 fopen() 函数,如果找到匹配项,则返回文件指针资源,失败时返回 False。错误输出可以通过在函数名称前添加“@”来隐藏。

用法:

resource fopen ( $file, $mode, $include_path, $context)

使用的参数:
PHP 中的 fopen() 函数接受四个参数。

  • $file:它是一个强制参数,用于指定文件。
  • $mode:它是一个强制参数,用于指定文件或流的访问类型。
    它可以有以下可能的值:
    • “r”:它代表只读。它从文件的开头开始。
    • “r+”:它代表读/写。它从文件的开头开始。
    • “w”:它代表只写。它打开并清除文件的内容,如果文件不存在则创建一个新文件。
    • “w+”:它代表读/写。如果文件不存在,它会打开并清除文件的内容或创建一个新文件。
    • “a”:它代表只写。它打开并写入文件的末尾,或者如果它不存在则创建一个新文件。
    • “a+”:它代表读/写。它通过写入文件末尾来保留文件的内容。
    • “x”:它代表只写。它创建一个新文件并返回 FALSE,如果文件已经存在则返回错误。
    • “x+”:它代表读/写。它创建一个新文件,如果文件已经存在,则返回 FALSE 和错误。
  • $include_path:它是一个可选参数,如果要在 include_path(例如 php.ini)中搜索文件,则设置为 1。
  • $context:它是一个可选参数,用于设置流的行为。

返回值:
成功时返回文件指针资源,错误时返回 FALSE。



异常:

  • 写入文本文件时,应根据平台使用正确的line-ending 字符。例如Unix 系统使用\n,Windows 系统使用\r\n,Macintosh 系统使用\r 作为行结束符。
  • 建议使用 fopen() 打开文件时使用 ‘b’ 标志。
  • 如果打开失败,则会生成 E_WARNING 级别的错误。
  • 启用安全模式后,PHP 会检查运行脚本的目录是否与正在执行的脚本具有相同的 UID(所有者)。
  • 如果您不确定文件名是文件还是目录,您可能需要在调用 fopen() 之前使用 is_dir() 函数,因为当文件名是目录时 fopen() 函数也可能成功。

以下示例程序旨在说明 fopen() 函数。

程序1:


<?php
// Opening a file using fopen() 
// function in read only mode
$myfile = fopen("/home/geeks/gfg.txt", "r") 
                 or die("File does not exist!");
?>

输出:

File does not exist!

程序2:


<?php 
// Opening a file using fopen() 
// function in read/write mode
$myfile = fopen("gfg.txt", 'r+') 
     or die("File does not exist!");
       
$pointer = fgets($myfile);
echo $pointer;
fclose($myfile);
?>

输出:

portal for geeks!

程序3:


<?php 
// Opening a file using fopen() function
// in read mode along with b flag
$myfile = fopen("gfg.txt", "rb");
$contents = fread($myfile, filesize($myfile));
fclose($myfile);
print $contents;
?>

输出:

portal for geeks!

程序4:


<?php 
// Opening a file using fopen() function
// in read/write mode 
$myfile = fopen("gfg.txt", "w+");
  
// writing to file
fwrite($myfile, 'geeksforgeeks');
  
// Setting the file pointer to 0th 
// position using rewind() function
rewind($myfile);
  
// writing to file on 0th position
fwrite($myfile, 'geeksportal');
rewind($myfile);
  
// displaying the contents of the file
echo fread($myfile, filesize("gfg.txt"));
fclose($myfile);
?>

输出:

geeksportalks

参考:
http://php.net/manual/en/function.fopen.php




相关用法


注:本文由纯净天空筛选整理自Shubrodeep Banerjee大神的英文原创作品 PHP | fopen() (Function open file or URL)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。