PHP文件_存在if/then语句

PHP文件_存在if/then语句,php,Php,这是我第一次使用PHP,在编写基本的if/then语句时遇到了困难。我想做一些像 如果文件存在 显示html代码 其他的 显示不同的html代码 这就是我目前的处境-- 非常感谢 试试: if (file_exists('pdf/' . htmlspecialchars($_POST['apt'], ENT_COMPAT) . '.pdf')) { echo "the file exists"; } else { echo "file does not exist"; } 在调

这是我第一次使用PHP,在编写基本的if/then语句时遇到了困难。我想做一些像

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

这就是我目前的处境--

非常感谢

试试:

if (file_exists('pdf/' . htmlspecialchars($_POST['apt'], ENT_COMPAT) . '.pdf')) {
    echo "the file exists";
} else {
    echo "file does not exist";
}
在调用
htmlspecialchars()
之前,您有一些引号。调用函数时,不需要引号。
另请注意,您没有关闭括号。

您不需要htmlspecialchars。它将把不合适的字符转换成更不合适的字符。例如“变成� 3 9;(不带空格)

您的引号有问题:

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

有两个问题。首先,在
if
条件的末尾缺少一个结束括号,其次,在调用
htmlspecialchars
时,在不应该引用的地方加上引号

正确的代码是:

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

为什么要将函数调用放入
?另外,您在
if()
语句中缺少一个结束语
。您好,GBD,我认为我没有正确的设置,因为每当我在PHP中出错时,我只会收到500个内部服务器错误。只需删除htmlspecialchars即可。如果有人试图发送像&这样的字符,由于像&这样的字符,If无论如何都会失败,这不是答案!如果你有友好的建议,那么就对问题进行评论,或者回答问题并在结尾处添加你的建议。这是最明确的答案。让他申请一个名为“&^%$#.pdf,您将看到htmlspecialchars不仅毫无意义,而且会加剧问题。它解决了他面临的问题吗?不,没有,它建议他不需要这个功能。正确答案是被接受的答案+1对于好的建议,但这不是一个答案:-)我100%同意您的看法,即
htmlspecialchars
函数将导致具有特殊字符的文件出现问题,而且无论如何它都不是必需的,但这并不是导致他出现问题的原因:-)我看到了htmlspecialchars调用,而忽略了其余部分。脚本错误源于不正确的语法,MitchS做对了
file_exists('pdf/'.htmlspecialchars($_POST['apt'], ENT_COMPAT).'.pdf')
if (file_exists('pdf/'.htmlspecialchars($_POST['apt'], ENT_COMPAT).'.pdf')) {
    echo "the file exists";
}  else {
    echo "file does not exist";
}