wordpress - 如何检查文件是否真的存在于 WordPress 中?
问题描述
在循环中,我使用以下代码检查文件是否真的存在
<?php
if(has_post_thumbnail()) {
$url = get_the_post_thumbnail_url();
$explode = explode('/', $url);
$url = trim('../../'.basename(wp_get_upload_dir()['basedir']).wp_get_upload_dir()['subdir'].'/'.end($explode));
echo $url;
if( file_exists($url)) {
$url = $url;
} else {
$url = '';
}
} else {
$url = get_template_directory_uri().'/assets/images/blog/layout-1/blog-thumbnail-1.jpg';
}
?>
<img src="<?php echo $url; ?>" alt="blog thumb">
那个回声$url
正在打印这个网址:
../../uploads/2019/07/5e026bb1-b58b-3df0-ae5f-2acd7d808ff3.jpg
但现在它不起作用。我无法确定该$url
文件是否真的存在。
更新:
if(has_post_thumbnail()) {
$url = get_the_post_thumbnail_url();
$explode = explode('/', $url);
$upload_dir = wp_upload_dir();
$upload_path = $upload_dir['path'];
$url = $upload_path . '/' . end($explode);
if(file_exists($url)) {
$url = get_the_post_thumbnail('blog-thumb');
} else {
$url = get_template_directory_uri().'/assets/images/blog/layout-1/blog-thumbnail-1.jpg';
}
} else {
$url = get_template_directory_uri().'/assets/images/blog/layout-1/blog-thumbnail-1.jpg';
}
?>
<img src="<?php echo $url; ?>" alt="blog thumb">
解决方案
让我们试试下面的代码
$url = get_the_post_thumbnail_url();
$explode = explode('/', $url);
$upload_dir = wp_upload_dir();
$upload_path = $upload_dir['path'];
$url = $upload_path . '/' . end($explode);
var_dump(file_exists($url));die;
请仔细检查文件夹中的文件。
推荐阅读
- c# - 我无法从 TFS 下载应用程序 - 错误地显示“所有文件都是最新的”
- docker - 通过 apache 代理推送到自定义注册表时出现 Blob Unknown
- swift - 在 Swift 中为格式化文本添加行高
- docker - standard_init_linux.go:190: exec 用户进程导致“没有这样的文件或目录” - Docker
- rx-java2 - andThen() 在 RXJava2 中是如何工作的?
- android - 使用 Framelayout 作为片段容器的 Android AppBar
- c++ - 我可以在 C++/UWP 中使 EventHandlers 成为非静态成员函数吗?
- django - Django Rest 更改 URL 中的主键以使用自定义键
- vba - Excel VBA - 填充 Avery 模板
- google-chrome - 如何减少 Chrome v68 书签栏中的填充?