PHP将变量传入文件路径时file_exists函数传参报错问题求助
问题原因
file_exists()函数语法要求仅接收1个参数,也就是待检查的完整文件路径字符串,你当前调用时传入了2个参数,直接触发了参数数量不匹配的警告。- 路径拼接逻辑出错:你需要把
'code/system/content/' . $Language和$PageName . '.inc'两部分拼接为完整路径,却错误使用了逗号分隔而非PHP的字符串连接符.,PHP将逗号前后的内容识别为两个独立参数传给了file_exists()。
修复方案
把if判断里的逗号改成.即可,修正后的代码如下:
$Language = 'US'; $PageName = 'Home'; if(file_exists('code/system/content/' . $Language . '/' . $PageName . '.inc')){ // 此处写业务逻辑 }
补充说明:额外添加的路径分隔符
/是为了避免路径拼接后变成code/system/content/USHome.inc,和你预期的code/system/content/US/Home.inc不符,你可以根据自身实际目录结构调整是否需要该分隔符。
内容的提问来源于stack exchange,提问作者Blnukem
相关产品推荐
相关产品推荐

