file_exists 总是返回 false
我有一个简单的函数可以在文件旁边输出文件类型的图标,但由于某种原因 file_exists()
总是返回 false。我已经输出了正在生成的路径,并且它显然存在于“default.png”。我在这里错过了什么吗?
我尝试过使用 URL 和文件路径 - 两者总是返回 false。
我什至将所有文件权限设置为 777 以测试这是否是问题所在,但这不起作用。
/**
* Displays the logo for the file type passed to the function
*
* @param required string $file_type The file type to display an icon for
*/
function show_file_type($file_type){
$file_types_folder = get_bloginfo('template_directory').'/includes/images/file_types/';
if(file_exists($file_types_folder.$file_type.'.png')) :
$file_type_image = $file_types_folder.$file_type.'.png';
elseif(file_exists($file_types_folder.'default.png')) :
$file_type_image = $file_types_folder.'default.png';
else :
return false;
endif;
echo '<img src="'.$file_type_image.'" width="20"/>';
}
I have a simple function to output an icon for a file type next to the file, but for some reason file_exists()
always returns false. I have output the path that is being generated, and it clearly exists for 'default.png'. Am I missing something here?
I have tried useing the URL and the file path - both always return false.
I even set all files permisisons to 777 to test if that was the issue, but that did not work.
/**
* Displays the logo for the file type passed to the function
*
* @param required string $file_type The file type to display an icon for
*/
function show_file_type($file_type){
$file_types_folder = get_bloginfo('template_directory').'/includes/images/file_types/';
if(file_exists($file_types_folder.$file_type.'.png')) :
$file_type_image = $file_types_folder.$file_type.'.png';
elseif(file_exists($file_types_folder.'default.png')) :
$file_type_image = $file_types_folder.'default.png';
else :
return false;
endif;
echo '<img src="'.$file_type_image.'" width="20"/>';
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我也有这个问题。根据 docs 您应该调用
clearstatcache();
在同一脚本执行期间创建或删除文件时调用file_exists();
之前。让我们知道它是否有效!I'm having this issue also. According to the docs you should call
clearstatcache();
before callingfile_exists();
when the file is created or deleted during the same script execution. Let us know if it works!