PHP File() 处理和函数
什么是文件?
文件只是计算机上存储信息的资源。
文件通常用于存储以下信息:
- 程序的配置设置
- 简单数据,例如联系人姓名与电话号码。
- 图像、图片、照片等
PHP 文件格式支持
PHP 文件函数支持多种文件格式,包括:
- 文件.txt
- 文件.log
- File.custom_extension,即 file.xyz
- 文件.csv
- 文件.gif、文件.jpg 等
- 与需要其他软件和技能来管理 DBMS 系统的数据库相比,文件为简单数据提供了一种永久且经济高效的数据存储解决方案。
- 您希望存储简单数据(例如服务器日志)以供以后检索和分析
- 您想要存储程序设置,即 program.ini
PHP file() 函数
PHP 通过其丰富的内置函数集合提供了一种处理文件的便捷方式。
Opera系统,如 Windows 而 MAC OS 不区分大小写, Linux or Unix的 操作系统区分大小写。
采用诸如仅使用小写字母等命名转换来命名文件是一种很好的做法,可以确保最大程度的跨平台兼容性。
现在让我们看一下一些最常用的 PHP 文件函数。
PHP file_exists() 函数
该函数用于判断文件是否存在。
- 当我们想在处理文件之前知道它是否存在时它会非常有用。
- 当创建新文件并且想要确保该文件在服务器上尚不存在时,您也可以使用此功能。
file_exist 函数具有以下语法。
<?php file_exists($filename); ?>
这里,
- “file_exists()” 是 PHP 函数,如果文件存在则返回 true,如果不存在则返回 false。
- “$file_name”是需要检查的文件的路径和名称
下面的代码使用 file_exists 函数来确定文件 my_settings.txt 是否存在。
<?php if (file_exists('my_settings.txt')) { echo 'file found!'; } else { echo 'my_settings.txt does not exist'; } ?>
将上述代码保存在名为 file_function.php 的文件中,假设你将该文件保存在 htdocs 中的 phptuts 文件夹中,打开 URL http://localhost/phptuts/file_function.php 在您的浏览器中您将获得以下结果。
PHP fopen() 函数
fopen 函数用于打开文件。它的语法如下
<?php fopen($file_name,$mode,$use_include_path,$context); ?>
这里,
- “fopen” 是 PHP 打开文件函数
- “$file_name”是要打开的文件的名称
- “$mode” 是打开文件的模式,下表显示了这些模式
时尚 | 描述 |
---|---|
r |
• 从头开始读取文件。 • 如果文件不存在则返回 false。 • 只读 |
r+ |
• 从头开始读取文件 • 如果文件不存在则返回 false。 • 读和写 |
w |
• 在开头写入文件 • 将文件长度截断为零 • 如果文件不存在则尝试创建它。 • 只写 |
w+ |
• 从开头写入文件,将文件截断为零长度 • 如果文件不存在则尝试创建它。 • 读和写 |
a |
• 附加到文件末尾 • 如果文件不存在则尝试创建它。 • 只写 |
a+ |
• Php 附加到文件末尾 • 如果文件不存在,则尝试创建它 • 读和写 |
- “$use_include_path” 是可选的,默认为 false,如果设置为 true,函数也会在包含路径中搜索。
- “$context” 是可选的,可以用来指定上下文支持。
PHP fwrite() 函数
fwrite函数用于写入文件。
它的语法如下
<?php fwrite($handle, $string, $length); ?>
这里,
- “fwrite” 是用于写入文件的 PHP 函数
- “$handle” 是文件指针资源
- “$string” 是要写入文件中的数据。
- “$length” 是可选的,可以用来指定最大文件长度。
PHP fclose() 函数
fclose() 函数用于关闭 php 中已经打开的文件
它具有以下语法。
<?php fclose($handle); ?>
这里,
- “fclose” 是 PHP功能 关闭打开的文件
- “$handle” 是文件指针资源。
现在让我们看一个创建 my_settings.txt 的示例。
我们将使用以下功能。
- 福彭
- 写入
- 关闭
下面的代码“create_my_settings_file.php”实现了上述示例。
打开文件 |
<?php $fh = fopen("my_settings.txt", 'w') or die("Failed to create file"); ?> |
关闭文件 |
<?php fclose($fh); ?> |
创建文件 |
<?php $fh = fopen("my_settings.txt", 'w') or die("Failed to create file"); $text = <<<_END localhost;root;pwd1234;my_database _END; fwrite($fh, $text) or die("Could not write to file"); fclose($fh); echo "File 'my_settings.txt' written successfully"; ?> |
测试代码
打开网址 http://localhost/phptuts/create_my_settings.php 您的浏览器。
您将看到以下页面
注意:如果您的磁盘已满或者您没有权限写入文件,您将收到错误消息。
切换回 URL http://localhost/phptuts/file_function.php .
你得到了什么结果?
PHP fgets() 函数
fgets 函数用于逐行读取 php 文件。其基本语法如下。fgets($handle); 此处,
- “$fgets” 是用于读取文件行的 PHP 函数
- “$handle” 是文件指针资源。
现在让我们看一个使用 fopen 和 fgets 函数读取 my_settings.txt 文件的示例。
read_my_settings.php 下面的代码实现了上面的例子。
<?php $fh = fopen("my_settings.txt", 'r') or die("File does not exist or you lack permission to open it"); $line = fgets($fh); echo $line; fclose($fh); ?>
这里,
- “fopen”函数返回文件路径中指定文件的指针
- 如果发生错误,则调用“die()”函数。它会显示一条消息并退出脚本的执行
PHP copy() 函数
PHP copy 函数用于复制文件。它具有以下基本语法。copy($file,$copied_file); 这里,
- “$file”指定要复制的文件的文件路径和名称。
- “copied_file”指定复制文件的路径和名称
下面的代码说明了实现
<?php copy('my_settings.txt', 'my_settings_backup.txt') or die("Could not copy file"); echo "File successfully copied to 'my_settings_backup.txt'"; ?>
删除文件
unlink函数用于删除文件。下面的代码说明了其实现。
<?php if (!unlink('my_settings_backup.txt')) { echo "Could not delete file"; } else { echo "File 'my_settings_backup.txt' successfully deleted"; } ?>
PHP file_get_contents() 函数
file_get_contents函数用于读取整个文件内容。
下面的代码说明了实现过程。
file_get_contents 和 fgets 之间的区别在于 file_get_contents 以字符串形式返回文件数据,而 fgets 逐行读取文件。
<?php echo "<pre>"; // Enables display of line feeds echo file_get_contents("my_settings.txt"); echo "</pre>"; // Terminates pre tag ?>
总结
- 文件是存储数据的资源
- PHP 拥有丰富的内置函数集合,可以简化文件处理。
- 常见的文件函数有fopen、fclose、file_get_contents
- 下表显示了所涵盖的功能摘要
功能 | 描述 |
---|---|
文件已存在 | 用于判断文件是否存在 |
打开 | 用于打开文件。返回指向已打开文件的指针 |
写 | 用于写入文件 |
关闭 | 用于打开已关闭的文件 |
获取 | 用于逐行读取文件 |
复制 | 用于复制现有文件 |
取消链接 | 用于删除现有文件 |
的file_get_contents | 用于以字符串形式返回文件内容 |