【问题标题】:Warning : filesize function failing to operate [closed]警告:文件大小功能无法运行[关闭]
【发布时间】:2012-09-19 16:24:09
【问题描述】:

以下代码:

<?php
$filevar = "/images/staunton/{$options_item['base_var']}.gif";

if(filesize($filevar) > 1616){
    $setstatus = "enabled";
}
else{
    $setstatus = "disabled";
}       
?>

结果:

Warning: filesize() [function.filesize]: stat failed for /images/staunton/3-25.gif in [Originating PHPFILE(Edited)] on line 24

路径是正确的文件....我的托管服务器正在运行 php 5.2 - 这是一个语法错误吗?我一直在看类似的代码,它看起来是正确的。

【问题讨论】:

  • $filevar中的文件是否存在? PHP进程是否有权限读取它,以及它所在的目录?
  • 我认为您的服务器没有名为 imagesroot-level 文件夹。
  • 检查您的 (apache?) 服务器是否具有对该文件的读取权限以及完整路径是否正确。
  • @DCoder 我想你可能是对的 - @OP 在$filevar 上做一个file_exists() 看看会发生什么
  • 路径不是正确的文件...您是否混淆了 URL 和 本地文件路径

标签: php warnings filesize if-statement


【解决方案1】:

而不是这个:

$filevar = "/images/staunton/{$options_item['base_var']}.gif";

你可能想要:

$filevar = $_SERVER["DOCUMENT_ROOT"] . "/images/staunton/{$options_item['base_var']}.gif";

因为您可能混淆了图像在页面的文档根中的相对路径与图像在文件系统中的绝对路径

试一试并回复评论。

【讨论】:

  • 另外,确保文件夹(文件所属的)不可写。
  • 很好的答案,$_SERVER["DOCUMENT_ROOT"] 也解决了我的问题。
猜你喜欢
  • 2022-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多