PHP file_exists今天早上停止了工作?

时间:2014-01-30 14:04:57

标签: php if-statement file-exists

只是想知道,我有以下代码:

            <a href="<?=$row->aw_deep_link?>">
                <?php if (file_exists($_SERVER['DOCUMENT_ROOT'] . 'images/products/' . $row->strId . '.jpg')):?>

                <img alt="<?=$row->my_brand . ' ' . $row->line . ' ' . $row->my_product . ' - ' . $row->size.$row->unit?>" height="170" itemprop="image" src="<?=base_url() . 'images/products/' . $row->strId?>.jpg" width="170">
                <?php else:?>

                <img alt="<?=$row->my_brand . ' ' . $row->line . ' ' . $row->my_product . ' - ' . $row->size.$row->unit?>" height="170" itemprop="image" src="<?=$row->aw_image_url?>" width="170">
                <?php endif;?>

            </a>

直到昨晚,这表现得非常完美;今天早上 - 它停止了,突然出现并自动默认为

  

否则

子句。

PHP有什么变化吗?

2 个答案:

答案 0 :(得分:2)

你没有给任何人提供足够的信息给你答案,但我建议你检查一下:

  1. $ _SERVER ['DOCUMENT_ROOT']是否仍然等于您的预期?您可以使用echo $_SERVER['DOCUMENT_ROOT'];查找。
  2. images / products /目录是否仍然存在,并且运行此php脚本的用户是否可读?这可能是Apache正在运行的用户。
  3. $row->strId仍有效吗?
  4. 目录中是否有一些名为$row->strId.jpg的文件,您的用户可以读取这些文件吗?
  5. 假设file_exists被破坏是错误的起点,请检查用于构造文件名的变量。

答案 1 :(得分:0)

如果您所知道的文件或脚本没有被更改(包括图像文件是否仍然存在),则可能是服务器更改/更新导致错误。

我的建议是在一个单独的文件中运行一些简单的测试。检查$_SERVER['DOCUMENT_ROOT']变量的值,检查是否存在包含图像的目录,然后检查图像是否存在。

如果您100%确定服务器上没有任何更改,我建议您与主机联系。

相关问题