【问题标题】:php : get tmp sizephp : 获取 tmp 大小
【发布时间】:2010-11-12 00:12:21
【问题描述】:

如何获取 tmp 大小

我的代码

filesize('/tmp/phpn3jaaQ');

错误

PHP 警告:filesize() [function.filesize]:安全模式限制生效。 uid 为 524 的脚本不允许访问 /home/script/file.php 第 2 行中 uid 0 拥有的 /tmp

【问题讨论】:

    标签: php filesize tmp


    【解决方案1】:

    对于不属于与脚本相同 UID 的文件,您不能使用 safe mode 中的文件处理/管理功能。

    关闭安全模式,您的代码应该可以工作。

    编辑:澄清之前关于文件处理的声明。

    另一个注意事项,安全模式自 PHP 5.3 起已弃用,这意味着它不会在未来的版本中可用。您应该避免使用它,当然也不要依赖它。

    【讨论】:

    • "您不能在安全模式下使用文件管理功能。" --- 你为什么这么认为?
    • @Phil Brown: <?php var_dump(filesize('set.php'), ini_get('safe_mode')); // int(78) string(1) "1" 每个人都在撒谎。我建议不要相信 php 手册中的注释。
    • @Phil Brown:我不同意当前的答案。问题不在于安全模式,而在于开发人员,他们无法使用安全模式并且无法阅读错误消息。对不起,但你让新手感到困惑,投反对票。
    • @zerkms 我已经澄清了我的答案。在您的示例中,调用脚本和 set.php 是否属于同一个 UID?
    • @Phil Brown:当然。而你的回答并没有反映这个事实。现在它是。顺便说一句,我仍然不同意解决方案。他不应该(也可能无法)关闭安全模式,但他应该设置正确的文件所有者。
    猜你喜欢
    • 1970-01-01
    • 2012-04-15
    • 2016-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-16
    • 2012-06-15
    相关资源
    最近更新 更多