使用 PHP 获取文件 inode 的快速(呃)方法

发布于 2024-07-04 09:22:26 字数 145 浏览 9 评论 0原文

要在 PHP 中获取文件的索引节点,您可以使用这个:

$fs = stat($file);
echo $fs['ino'];

这个问题无处不在,说它很慢,您应该避免它。 所以问题就变成了更快的方法是什么?

To grab the inode of a file in PHP, you can use this:

$fs = stat($file);
echo $fs['ino'];

The problem with this is EVERYWHERE says it's slow and you should avoid it. So the question becomes what's the fast(er) way to do it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

为你鎻心 2024-07-11 09:22:26

您可以使用 fileinode() 但如果您认为它很慢,则应该运行基准测试。

You could use fileinode() but you should run benchmarks if you think it is slow.

咿呀咿呀哟 2024-07-11 09:22:26

我认为您应该进行基准测试并查看您正在执行的操作以确定 stat() 是否是代码中最慢的部分。 在每天获得大约 100 次点击的服务器上,为每个请求声明 1 个文件并不是问题。 当您必须每秒找出更多请求时,说明每个文件可能是一个问题。

您可以通过 memcached、apc 或其他内存缓存系统缓存结果来避免重复声明同一文件。

过早的优化是万恶之源。 ——唐纳德·高德纳

I think you should benchmark and take a look at what you are doing to determine if stat() is the slowest part of your code. Stating 1 file on each request on a server that gets about 100 hits/day is not a problem. Stating every file could be a problem when you have to eek out a few more requests a second.

You can avoid stating the same file repeatedly by caching the results via memcached, apc or some other in-memory caching system.

Premature optimization is the root of all evil. - Donald Knuth

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文