PHP - 打开文件

PHP - 打开文件

PHP 内置函数库提供了 fopen() 函数来打开文件或任何其他流,并返回它的 “reference pointer”,也称为 “handle”。

PHP 的 fopen() 函数类似于 C 语言中的 fopen(),只是在 C 语言中,它不能打开 URL。

fopen() 的语法

fopen() 函数具有以下签名 -

fopen(

string $filename,

string $mode,

bool $use_include_path = false,

?resource $context = null

): resource|false

$filename 和 $mode 参数是必需的。以下是参数的解释 -

$filename − 此参数是表示要打开的资源的字符串。它可以是本地文件系统中的文件,也可以是带有 scheme:// 前缀的远程服务器上的文件。

$mode - 表示为文件/资源提供的访问类型的字符串。

$use_include_path − 如果您也想在 include_path 中搜索文件,则可以将布尔可选参数设置为 '1' 或 true。

$context - 上下文流资源。

打开文件模式

PHP 允许以下列模式打开文件 -

模式

描述

r

以只读方式打开文件。

w

打开仅用于写入的文件。创建新文件(即使它存在)。

a

在追加模式下打开文件

x

创建仅用于写入的新文件。

r+

打开文件进行读/写。

w+

打开文件进行读/写。创建新文件(即使它存在)。

a+

在附加模式下打开一个文件进行读/写。

x+

创建一个新的读/写文件。

c

如果文件不存在,请打开该文件进行写入。但是,如果它存在,则不会被截断(如在 w 模式下)。

c++

打开文件进行读/写(如果不存在)。但是,如果它存在,则不会被截断(如在 w 模式下)。

e

在打开的文件描述符上设置 close-on-exec 标志。仅适用于在 POSIX.1-2008 兼容系统上编译的 PHP。

如果 fopen() 函数成功执行,它将返回绑定到文件流的 文件指针(file pointer)或 句柄(handle) 资源。但是,如果失败,它将返回 false 并发出 E_WARNING。

$handle = fopen('a.txt, 'r');

var_dump($handle);

如果文件存在于当前目录中,则输出显示成功 -

resource(5) of type (stream)

否则,您将收到以下错误消息 -

Warning: fopen(a.txt): Failed to open stream: No such file or directory in a.php on line 2bool(false)

例子

以下示例显示 fopen() 函数的不同用法 -

$handle = fopen("hello.txt", "w");

$handle = fopen("c:/xampp/htdocs/welcome.png", "rb");

$handle = fopen("http://localhost/hello.txt", "r");

?>

请注意,当 filename 是 目录 时,此函数也可能成功。在这种情况下,您可能需要在进行任何读/写操作之前使用 is_dir() 函数来检查它是否为文件。

打开文件后,您可以借助 fwrite() 或 fputs() 等函数在其中写入数据,并使用 fread() 和 fgets() 函数从中读取数据。

关闭文件

始终建议关闭句柄引用的打开流 -

fclose($handle);

<< PHP - 文件处理

PHP - 读取文件 >>

相关推荐

鸿合科技股份有限公司怎么样?
美好365app官方下载

鸿合科技股份有限公司怎么样?

📅 07-02 👁️ 8167
淘宝蘑菇街哪个质量好?有什么区别?(蘑菇街和淘宝哪个质量好)
精神分裂怎么回事?为何一个人可有两个灵魂
美好365app官方下载

精神分裂怎么回事?为何一个人可有两个灵魂

📅 08-16 👁️ 1338