为什么我从“filesize”得到如此准确的结果?

2024-04-20

当我运行这段代码时:

<?php
$handle = fopen('/tmp/lolwut', 'w') or die("Cannot open File");    
fwrite($handle, "1234567890");
fclose($handle);

print_r(filesize('/tmp/lolwut'));
?>

我得到结果10,这是文件中正确的字符数。

然而,由于文件系统块比这个大得多,我预计文件大小会“四舍五入”为 512 字节甚至 1KB。为什么不是呢?


不要将“文件大小”与“磁盘上的文件大小”混淆;PHP's filesize功能 http://www.php.net/manual/en/function.filesize.php给你的是前者,而不是后者。

尽管没有明确记录,filesize基本上是在以下方面实施的stat,以及在 Linux 上stat区分文件大小和“磁盘上的文件大小” http://linux.die.net/man/2/stat:

所有这些系统调用都会返回一个stat结构体,包含以下字段:

struct stat {
    // [...]
    off_t     st_size;    /* total size, in bytes */
    blksize_t st_blksize; /* blocksize for file system I/O */
    blkcnt_t  st_blocks;  /* number of 512B blocks allocated */
    // [...]
};

您期望的值为st_blocks * st_blksize,但是“真实”文件大小st_size无论如何都可用。

(Windows 上似乎也是如此 http://msdn.microsoft.com/en-us/library/14h5k7ff%28v=vs.80%29.aspx.)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我从“filesize”得到如此准确的结果? 的相关文章

  • 如何根据另一个下拉列表中的选择动态填充下拉列表中的选项?

    我有一个表 其中包含类别信息 例如产品 我已将它们列在下拉菜单中 现在 我需要做的是 在下一个下拉菜单中列出所选类别的子类别 我希望 javascript 是必需的 但我对 javascript 还不太熟悉 将非常感谢您的帮助 你应该使用
  • 在 Windows 上查看 PHP 文件夹

    我正在编写一个简单的 PHP 脚本来监视文件夹及其子文件夹的任何更改 新文件 修改 删除 然后执行操作 我将使用 Windows 上的命令行运行此脚本php f script php 我一直在寻找一种在 Windows 上观看具有 PHP
  • Apache 2.4.9 在启用 ssl 模块并设置 ssl 证书后失败

    Apache 在尝试设置 ssl 证书后抛出以下错误 ssl emerg pid 30907 AH02572 Failed to configure at least one certificate and key for localhos
  • 使用 PHP 创建图表并导出为 PDF

    我正在寻找有关使用 PHP 创建图表的建议 我还希望能够将这些图表导出到 PDF 文档 我目前正在使用谷歌图表 但我不喜欢将我的所有信息发送到谷歌的想法 我更喜欢自己的托管解决方案 我见过很多 Flash 解决方案 但我不知道有什么方法可以
  • 准备好的语句需要 0 个参数,给定 1 个参数..,使用 php 手册示例 [重复]

    这个问题在这里已经有答案了 我直接从 php 手册示例中获取了这个 它几乎与我需要的相同 但我仍然收到此错误 有人可以告诉我我错过了什么吗 stmt link gt prepare SELECT obitBody Photo FROM tn
  • 使用 md5 加密的 PHP 和 Mysql 查询出现问题

    我使用普通的 php mysql 插入查询并使用 md5 加密密码 这是插入查询 sql mysql query INSERT INTO user username password role approved values usernam
  • PHPExcel下载文件

    我想下载使用 PHPExcel 生成的 Excel 文件 我按照以下代码PHPExcel 强制下载问题 https stackoverflow com questions 26265108 phpexcel force download i
  • 私人聊天系统MYSQL查询显示发送者/接收者的最后一条消息

    在这里我延伸一下我之前的问题 私人聊天系统MYSQL查询ORDERBY和GROUPBY https stackoverflow com questions 10929366 private chat system mysql query o
  • session_regenerate_id 没有创建新的会话 id

    我有一个脚本 旨在完成当前会话并开始新的会话 我使用了一段代码 它在我的开发计算机上运行良好 但是 当我将其发布到生产服务器时 会话 ID 始终保持不变 以下是我重新启动会话的代码 session start SESSION array P
  • 如何将 PHPMailer 与 Codeigniter 3 集成

    嗨 我正在尝试使用PHPMailer 库 https github com PHPMailer PHPMailer来自我的 Codeigniter 应用程序中的 GitHub 我下载了代码并解压到我的application library文
  • strlen()==0 和empty()之间有区别吗?

    我正在查看其他人编写的一些表单验证代码 我看到了这个 strlen 0 当测试表单变量是否为空时 我使用empty 功能 一种方法比另一种方法更好吗 它们在功能上等效吗 strlen是获取字符串中的字符数 同时empty用于测试变量是否为空
  • 使用 php 更改白天和黑夜的背景?

    我正在制作一个 tumblr 页面 我的 html 页面有两种不同的背景 我希望白天背景从早上 7 点到晚上 8 点显示 夜间背景从晚上 8 点到早上 7 点显示 我决定用 php 来做这件事 但对于 php 来说我是个新手 我的朋友给我发
  • CakePHP Xml 实用程序库触发 DOMDocument 警告

    我正在使用 CakePHP 在视图中生成 XMLXML核心库 http book cakephp org 2 0 en core utility libraries xml html xml Xml build data array ret
  • Android GCM 服务器的 API 密钥

    我有点困惑我应该为 GCM 服务器使用哪个 API 密钥 在文档中它说使用 android api 密钥 这对我不起作用并且总是给出未经授权的 http developer android com google gcm gs html ht
  • 在 Woocommerce 购物车中设置最小小计金额

    我正在尝试将最低订单金额设置为 25 美元 到目前为止 我找到了这段代码 如果未达到最低限度 它似乎可以阻止结账 但它使用的小计包含税费 我需要在总计中排除税费 add action woocommerce checkout process
  • 如何在 HTML / Javascript 页面中插入 PHP 下拉列表

    好吧 这是我的第二篇文章 请接受我是一个完全的新手 愿意学习 花了很多时间在各个网站上寻找答案 而且我几乎已经到达了我需要到达的地方 至少在这一点上 我有一个网页 其中有许多 javascript 函数 这些函数一起使用 google 地图
  • 如何在php中使用preg添加html属性

    我正在寻找在 php 中编写一个脚本来扫描 html 文档并根据它找到的内容向元素添加新标记 更具体地说 我是扫描文档并为每个元素搜索CSS标记 float right left 如果找到它 它会添加align right left 基于它
  • Zend Framework Zend_Form 装饰器: 位于按钮元素内部?

    我有一个像这样创建的按钮元素 submit new Zend Form Element Button submit submit gt setLabel My Button submit gt setDecorators array Vie
  • 如何在 codeigniter 查询中使用 FIND_IN_SET?

    array array classesID gt 6 this gt db gt select gt from this gt table name gt where array gt order by this gt order by q
  • PHP 和 NLP:嵌套括号(解析器输出)到数组?

    想要将带有嵌套括号的文本转换为嵌套数组 以下是 NLP 解析器的输出示例 TOP S NP PRP I VP VBP love NP NP DT a JJ big NN bed PP IN of NP NNS roses 原文 我喜欢一大床

随机推荐

  • 如何从 C# 中的本机 dll 捕获 c0000005 异常

    我正在使用一个本机 dll 该 dll 在某处抛出 c0000005 异常 访问冲突 并最终导致我的 Web 服务崩溃 直到该服务被回收 有没有办法捕获异常 我同意其他人的观点 解决问题 但有时您继承代码 而您只想捕获生产中的意外违规 在
  • 有什么办法可以提高 BitmapFactory.decodeStream() 的速度?

    显然这是一项昂贵 耗时的操作 有什么办法可以改善这个情况吗 Bitmap bm BitmapFactory decodeStream InputStream new URL someUrl getContent 我猜想确实没有办法避免这种相
  • 配置具有超过 16 个项目的 UITabBar

    My UITabBarController包含超过 16 个视图控制器 当我进入 更多 选项卡时 我可以看到所有UITabBarItems 如果我单击 编辑 按钮 我可以看到前 16 个图标 但没有足够的空间来显示更多图标 因此从第 17
  • 从 C# 打印标签 - 文档尺寸对于打印机来说太大

    我正在开发一个必须打印标签的应用程序 我使用的标签打印机是 Brother QL 570 标签宽度为66mm 标签长度需要约为45mm 我遇到的问题是我无法配置应用程序来实际打印标签 每次这样做时 我都会收到一条警告 指出文档尺寸对于打印机
  • 无法在表视图中使用自动布局约束

    我有这个表视图 无法添加任何自动布局约束 控件拖动不起作用 没有显示任何约束 并且构建器表单似乎处于非活动状态 我无法在其中设置任何值 见下文 自动布局在整个项目的任何地方都启用 基本上在每个视图上 这是为什么 这是因为您选择了单元格或单元
  • WARN 获取相关 ID 为 1 的元数据时出错:{MY_TOPIC?=INVALID_TOPIC_EXCEPTION} (org.apache.kafka.clients.NetworkClient)

    当我使用 kafka 运行以下命令时0 9 0 1 我收到这些警告 1 你能告诉我我的主题有什么问题吗 我正在与在 ec2 中运行的 kafka 经纪人交谈 kafka console consumer sh new consumer bo
  • iOS FFT Accerelate.framework 在播放期间绘制频谱

    更新2016 03 15 请看一下这个项目 https github com ooper shlab aurioTouch2 0 Swift https github com ooper shlab aurioTouch2 0 Swift
  • java中如何让SSL服务器socket同时支持http和https?

    我正在尝试使用 java 套接字创建简单的 Web 服务器 它应该支持 http 和 https 但我一次只能实现一个 我需要同时支持 http port 80 和 https port 443 的逻辑 这是使用 sslsocket 的 H
  • “错误LNK2001:无法解析的外部符号”[重复]

    这个问题在这里已经有答案了 我的 VC 2008 程序有问题 当我编译它时 会列出以下错误 我花了很多钱 去groups google com找了一下原因 但是没有评论 帮助过我 有人知道问题是什么吗 谢谢 error LNK2001 un
  • 如何使用 Jackson 解析 JSON 数组响应?

    我正在为 Android 构建一个 RESTful 客户端 我有一个关于 Jackson 的问题 我收到以下 JSON 响应 cars active true carName categoryId licenseType licenseTy
  • 从 OFFSET / FETCH NEXT 获取总行数

    因此 我有一个函数可以返回一些我想在我的网站上实现分页的记录 有人建议我使用 SQL Server 2012 中的 Offset Fetch Next 来完成此操作 在我们的网站上 我们有一个区域列出了记录总数以及您当时所在的页面 之前 我
  • 将命名 URL 的值分配给 Django 模板中的变量

    在我的 Django 模板中 我需要将名称 url 的值分配给 with 块中的变量 以便我可以在多个地方使用它 我需要实现这样的目标 for tag in post tags all with tagabs url showtag tag
  • 检查 JObject 中的空或 null JToken

    我有以下 JArray clients JArray clientsParsed objects foreach JObject item in clients Children etc SQL params stuff command P
  • 在 Android 的 Talkback 辅助功能中将缩写或缩写发音为单个字符

    我正在使用对讲来开发语音辅助功能 但是当画外音从文本视图中读取文本时 它将缩写 首字母缩写作为单词而不是单个字符读取 例如 FBI 应该是 F B I 而不是作为单词读出 不要试图强迫屏幕阅读器以某种方式阅读单词或缩写 这可能会扰乱盲文用户
  • 我真的应该将餐桌预订时间保存为 UTC 吗?

    这可能是一个愚蠢的问题 我提前道歉 但考虑到业务背景 我是否真的需要在数据库中以 utc 格式保存餐桌预订时间 并担心将其转换为网络客户端上的本地时间 预订将始终针对特定位置 地理 城市 进行 因此无论当前与 UTC 的时间偏移是什么 夏令
  • 命名循环习语:危险?

    我读过一篇关于 C 中的 命名循环惯用法 的文章 http en wikibooks org wiki More C 2B 2B Idioms Named Loop http en wikibooks org wiki More C 2B
  • 如何绑定和排序集合

    如果我有一个未排序的集合 是否有一种简单的方法来对其进行绑定和排序 我想用 XAML 来做 没有 Linq 没有 C 如果我的 DataContext 有一个属性 例如 MyItems 则很容易对其进行绑定
  • CakePHP TwigView 插件缺少视图错误

    我正在使用 CakePHP 2 4 2 和this https github com predominant TwigView插件由主导 我想将 TwigView 与 CakePHP 一起使用 发现上面的插件与 CakePHP 2 0 兼容
  • C# - System.Timers.Timer 的替代方案,在特定时间调用函数

    我想在特定时间调用 C 应用程序上的特定函数 起初我考虑使用Timer System Time Timer 但很快就变得无法使用 为什么 简单的 Timer 类需要一个Interval以毫秒为单位 但考虑到我可能希望执行该函数 假设在一周内
  • 为什么我从“filesize”得到如此准确的结果?

    当我运行这段代码时 我得到结果10 这是文件中正确的字符数 然而 由于文件系统块比这个大得多 我预计文件大小会 四舍五入 为 512 字节甚至 1KB 为什么不是呢 不要将 文件大小 与 磁盘上的文件大小 混淆 PHP s filesize