- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 WordPress 上传文件夹中创建了一个目录,供最终用户通过 ftp 批量上传照片。图像编号为 1.jpg、2.jpg...等。我已成功生成图像网址,但现在我想测试空网址 - 即如果“8.jpg”不存在,则显示占位符图像而是从主题的图像文件夹中。
我正在尝试使用 file_exists(),但这每次都会返回 false 并且始终显示占位符图像。如有任何建议,我们将不胜感激。
<?php while ( have_posts() ) : the_post();
// create url to image in wordpress 'uploads/catalogue_images/$sale' folder
$upload_dir = wp_upload_dir();
$sub_dir = $wp_query->queried_object;
$image = get_field('file_number');
$image_url = $upload_dir['baseurl'] . "/catalogue_images/" . $sub_dir->name . "/" . $image . ".JPG"; ?>
<?php if(file_exists($image_url)){
echo '<img src="' . $image_url . '" alt="" />';
} else {
//placeholder
echo '<img src="' . get_bloginfo("template_url") . '/images/photo_unavailable.jpg" alt="" />';
} ?>
<?php endwhile; ?>
最佳答案
PHP file_exists
函数主要 expects an internal server path to the file to be tested 。这通过example变得显而易见。 .
幸运的是,我们看到wp_upload_dir()
为我们提供了几个有用的值:
- 'path' - base directory and sub directory or full path to upload directory.
- 'url' - base url and sub directory or absolute URL to upload directory.
- 'subdir' - sub directory if uploads use year/month folders option is on.
- 'basedir' - path without subdir.
- 'baseurl' - URL path without subdir.
- 'error' - set to false.
我已经将我们想要使用的内容加粗了。使用这两个值,您必须生成两个变量,一个用于外部 URL,一个用于内部文件路径:
$image_relative_path = "/catalogue_images/" . $sub_dir->name . "/" . $image . ".JPG";
$image_path = $upload_dir['basedir'] . $image_relative_path;
$image_url = $upload_dir['baseurl'] . $image_relative_path;
然后使用 file_exists($image_path)
而不是 file_exists($image_url)
。
与 PHP >= 5.0.0 上的 PHP 注释一样,您 can indeed use file_exists
with some URLs ,但是 http://
协议(protocol)是 not supported for the stat()
function (这是 file_exists
使用的。)
关于php - 使用 file_exists() 检查 WordPress 上传文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27865151/
如何使用 PHP 移动文件? 代码: if( file_exists($imageLocation) ) echo "file exists on server"; rename($imageLo
我遇到了这个奇怪的问题:$myImg 变量已从一些本地 html 中提取并指向我想检查的文件。字符串变量 file_exists 给出 false,但如果手动插入 content os 变量,它给出
我正在尝试使用正则表达式模式来搜索文件。 目录路径是: $css_dir = MY_PLUGIN_DIR.'/source/css/'; CSS 文件名开头为: $css_prefix = 'hap_
我已经在 NetBeans 中建立了一个带有单元测试文件的项目。我将 Bootstrap 设置为 C:\www\foo\_tests\TestAutoload.php 并将简单的自动加载方法放入此文件
当我习惯于跟随 PHP 代码时; "; } else { echo ""; ?> 我的浏览器总是显示kaars1.png而不是 Maurice.jpg我也试过 !file_exists 但当 Maur
我正在尝试将个人资料照片显示在我正在处理的网站上的评论列表中。如果他们没有个人资料照片,我有一个标准图像来显示,不幸的是,即使它存在,图像也总是转到标准图像而不是个人资料。代码如下: $reviewe
if(file_exists("./squadra/photos/photog.jpg")) { echo "### YES ###"; } else { echo "### NO #
我有一个我想执行的 php 脚本,前提是该脚本的其他实例尚未运行。我有这段代码: $lockfile = __DIR__.'/lock.file'; if(file_exists($lockfile)
file_exists 不工作。我看过几个例子,但还是不行。程序未检测到该文件。我的文件路径是/var/www/osbs/PHPAPI/recording.mp3,网站根目录在osbs里面。这个文件的
file_exists 不工作.. 也尝试过 realpath.. 同样的问题 首先检查文件是否存在.. file_exists 返回 false 但文件仍然被加载 chdir(__DIR__.'/.
有没有办法编写 PHP file_exists 函数,以便它在目录中搜索具有任意扩展名的文件。例如,假设我知道一个名为“hello”的文件,但不知道扩展名,我该如何编写一个函数来搜索名为 hello.
有没有办法编写 PHP file_exists 函数,以便它在目录中搜索具有任意扩展名的文件。例如,假设我知道一个名为“hello”的文件,但不知道扩展名,我该如何编写一个函数来搜索名为 hello.
这样做: php -r 'unlink("path"); clearstatcache(); echo file_exists("path");' 其中 path 是我的 linux 机器上文件的完整
根据 file_exists() 的 php 文档 The results of this function are cached. See clearstatcache() for more det
在我的脚本中,我设置了包含路径(因此应用程序的另一部分也可以包含文件),检查文件是否存在并包含它。 但是,在我设置包含路径后,file_exists()报告该文件不存在,但我仍然可以包含相同的文件。
我正在使用这段代码: $DataSourceName = "..\Log4OM\Log4OM-Active.SQLite"; if(!file_exists($DataSourceName)) {
TL; DR 执行file_exists或检查@include的返回值是否更快(即抑制错误)? 在这种情况下,您可能会假设我使用的是绝对路径,而不是依赖于include_path解析。 精心制作的版本
需要有关 codeigniter 的帮助,我认为 file_exists 用于服务器路径,而不是 url。但我的图像文件夹与应用程序和系统文件夹处于同一级别。谷歌找不到任何内容,请帮忙 $url=ba
我们正在尝试使用此功能,但没有找到合适的解决方案。如何在 Smarty 中检查 file_exists 中的图像。 喜欢 [{$oSelection->getName()}] = name of im
当我在像 /a/path/to/a/../file.php 这样的路径上使用 file_get_contents 时,它会很好地获取内容。如果我先调用 file_exists(或 is_file 或
我是一名优秀的程序员,十分优秀!