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)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。