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 file_exists() 函数

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 您的浏览器。

您将看到以下页面

PHP fclose 函数

注意:如果您的磁盘已满或者您没有权限写入文件,您将收到错误消息。

切换回 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 用于以字符串形式返回文件内容