PHP 中 file、file_get_contents 和 fopen 之间的区别

2024-05-21

我是 PHP 新手,我不太确定:两者之间有什么区别file(), file_get_contents(), and fopen()函数,什么时候应该使用其中一个而不是另一个?


前两个,file http://www.php.net/manual/en/function.file.php and file_get_contents http://www.php.net/manual/en/function.file-get-contents.php非常相似。他们都读取了整个文件,但是file将文件读入数组,同时file_get_contents将其读入字符串。返回的数组file将由换行符分隔,但每个元素仍将附加终止换行符,因此您仍然需要注意这一点。

The fopen http://www.php.net/manual/en/function.fopen.php函数做了一些完全不同的事情——它打开一个文件描述符,该描述符充当读取流or写入文件。它是一个低级得多的函数,是 C 语言的简单包装器fopen函数,只需调用fopen除了打开一个流之外不会做任何事情。

打开文件句柄后,您可以使用其他函数,例如fread http://www.php.net/manual/en/function.fread.php and fwrite http://www.php.net/manual/en/function.fwrite.php操作句柄引用的数据,完成后,您需要使用以下方法关闭流fclose http://www.php.net/manual/en/function.fclose.php。这些可以让您更好地控制正在读取的文件,如果您需要原始二进制数据,您可能需要使用它们,但通常您可以坚持使用更高级别的函数。

所以,回顾一下:

  • file— 将整个文件内容读取到行数组中。
  • file_get_contents— 将整个文件内容读入字符串中。
  • fopen— 打开一个可以用其他库函数操作的文件句柄,但本身不进行读取或写入。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 中 file、file_get_contents 和 fopen 之间的区别 的相关文章

随机推荐

  • 将暂停屏幕绘制为播放屏幕上的一层 -LibGdx

    在我的 LibGdx 游戏中 我创建了暂停功能 在玩游戏时 如果我按下暂停按钮 则会显示一个带有恢复按钮的单独屏幕 实际上我想做的是暂停屏幕应该像一层一样出现在游戏屏幕上方 就像下面的游戏截图一样 我只能在我的游戏中使用单独的背景和所有内容
  • 使用“ember-rails”将路由从 Rails 迁移到现有 Rails 应用程序的 Ember

    将 gem ember rails 用于现有的 Rails 应用程序 我正在尝试使用 Ember 路由一个资源 很多人告诉我这段代码应该可以工作 但事实并非如此 我想突破学习曲线并使这项工作成功 但我需要一些帮助 Error Routing
  • ipython 笔记本锚链接直接从外部引用单元格

    我正在为基于笔记本的框架编写文档 当引用演示笔记本中的重要单元格时 我可以使用某种锚点来指向特定单元格吗 例如 如果我的演示笔记本位于 127 0 0 1 mydemo 是否可以通过某些锚标记 如 127 0 0 1 mydemo In10
  • Objective-C 中 typedef 枚举语句在哪里?

    我担心的一个基本问题 以下代码有效 并且 typedef 枚举被识别 但我收到一条警告消息 空声明中无用的存储类说明符 我在这里做错了什么吗 这是放置 typedef 枚举的最佳位置吗 import
  • WordPress 安装中发现的恶意 PHP 代码有什么作用?

    我能够解码在一些 WordPress 文件中找到的以下 PHP 脚本 只是出于好奇 有人可以告诉我这段代码实际上是做什么的吗 看起来它已经以某种方式复制到同一服务器上的其他 WordPress 安装中
  • 使用 Python 在 Django 中将 Unix 时间戳转换为人类格式

    我想将字符串中的 unix 时间戳 例如 1277722499 82 转换为更人性化的格式 hh mm ss 或类似格式 有没有一种简单的方法可以在 python 中为 django 应用程序执行此操作 这是在模板之外 在我想要执行此操作的
  • 如何在 JSFiddle 中链接外部 json 文件?

    我有一个很长的 json 文件country json name WORLD population 6916183000 name More developed regions population 1240935000 name Less
  • 使用GCD实现并发读独占写模型

    我试图了解使用 Grand Central Dispatch GCD 实现控制资源访问的并发读独占写模型的正确方法 假设有一个 NSMutableDictionary 被大量读取并且偶尔更新 确保读取始终与字典状态一致的正确方法是什么 当然
  • 如何将参数传递给 XML 视图 SAP UI5 中的事件处理程序

    我在将数据从 XML 视图发送到控制器时遇到问题 在 JS 视图中很容易实现 例如 在 JS 看来 var btn new sap m Button text click tap function callFunction oEvent m
  • 为什么编译器会警告 set precision 中的隐式转换?

    当我编译以下代码时 编译器给出警告 Implicit conversion loses integer precision std streamsize aka long to int 我对此警告有点困惑 因为我只是尝试保存精度的当前值 以
  • C 的二进制流解析库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 您能推荐一个经过验证的 C 二进制流解析库吗 如果它能像 C 语言所允许的那样具有声明性 那就太好了
  • 为什么这个脚本永远不会运行?

    我有以下 JavaScript 语句 该语句在页面加载时执行 变量u1使用以下值之一填充 BBSLoan Accept PPI No 60Months BBSLoan Refer PPI No 60Months HSBSLoan Accep
  • 使用php在html页面中显示bbcode

    我已经有一个 bbcode 字符串 mybbcode b Hello word b 使用 php 我想在 html 页面中以 html 格式显示它 例如 div gt b hello word b div 基本上其他人已经对你说过了 但是如
  • Android中BaseColumns有什么用

    实现一个类有什么用BaseColumns在安卓中 The BaseColumns http developer android com reference android provider BaseColumns html接口提供了非常常见
  • 类型错误:“float”对象不可下标

    PizzaChange float input What would you like the new price for all standard pizzas to be PriceList 0 1 2 3 4 5 6 PizzaCha
  • 测试文本字段中的 double 是否有值

    尝试检查从文本字段获得的双变量是否有值 让值 双倍 Double valueTextfield text if value isEmpty X if 值 nil X 如果 值 0 X 我该怎么做呢 您可以使用 Double 的 init 方
  • 如何使用 c++ libboost 运行进程并获取其输出?

    我正在尝试运行外部 shell 命令并使用 C 的 Boost 库读取其输出 但似乎该命令未运行或我无法访问输出 我在用着他们的文档 https www boost org doc libs 1 65 1 doc html boost pr
  • wp_unregister 和 wp_enqueue

    有人建议我使用 wp unregister 和 wp enqueue 将 wordpress jquery 库替换为 google 托管的库 因为 wordpress 有一些问题 然而 当我尝试将这些插入我的 WordPress 网站时 它
  • 如何使对象在以表单呈现时“可缩放”

    我正在 Winform 中渲染我的游戏 方式与本示例中的方式相同 WinForms系列1 图形设备 http xbox create msdn com en US education catalog sample winforms seri
  • PHP 中 file、file_get_contents 和 fopen 之间的区别

    我是 PHP 新手 我不太确定 两者之间有什么区别file file get contents and fopen 函数 什么时候应该使用其中一个而不是另一个 前两个 file http www php net manual en func