PHP file_exists if / then语句

时间:2012-12-13 08:15:31

标签: php

这是我第一次使用PHP,我在制作基本的if / then语句时遇到了麻烦。我想做像

这样的事情

如果文件存在  显示HTML代码 其他  显示不同的HTML代码。

这是我现在的位置 -

<?php
if ( file_exists('pdf/'.'htmlspecialchars($_POST['apt'], ENT_COMPAT)'.'.pdf') {
    echo "the file exists";
}  else {
    echo "file does not exist";
}
?>

我认为这里的问题是我如何编写

file_exists('pdf/'.'htmlspecialchars($_POST['apt'], ENT_COMPAT)'.'.pdf')

非常感谢!

4 个答案:

答案 0 :(得分:3)

尝试:

if (file_exists('pdf/' . htmlspecialchars($_POST['apt'], ENT_COMPAT) . '.pdf')) {
    echo "the file exists";
} else {
    echo "file does not exist";
}

在致电htmlspecialchars()之前,您有一些报价。当你调用一个函数时,你不需要引号。 另请参见您没有关闭括号。

答案 1 :(得分:2)

您有引号问题:

file_exists('pdf/'.htmlspecialchars($_POST['apt'], ENT_COMPAT).'.pdf')

答案 2 :(得分:2)

有两个问题。首先,在if条件结束时,您错过了一个结束括号,其次,在htmlspecialchars的调用周围,您有不应该引用的引号。

正确的代码是:

if (file_exists('pdf/'.htmlspecialchars($_POST['apt'], ENT_COMPAT).'.pdf')) {
    echo "the file exists";
}  else {
    echo "file does not exist";
}

答案 3 :(得分:1)

你不需要htmlspecialchars。它会将不正确的字符转换为更不正确的字符。例如'变成&amp; #0 3 9; (没有空格)