Php img标签显示文件夹中的img,但背景图像不显示?
我使用下面的代码将用户上传到公文包中。它工作得很好,但是有一个图像(在许多图像列表中)显示为空白,但在下一页显示,使用相同的路径,但在传统的Php img标签显示文件夹中的img,但背景图像不显示?,php,html,css,Php,Html,Css,我使用下面的代码将用户上传到公文包中。它工作得很好,但是有一个图像(在许多图像列表中)显示为空白,但在下一页显示,使用相同的路径,但在传统的标记中 <?php $files= glob('./uploads/users/'. $item->user_id .'/'.$item->id.'/public_large/*'); $count = 0; $user_avatar = '/themes/users/assets/img/noartwork.jpg
标记中
<?php
$files= glob('./uploads/users/'. $item->user_id .'/'.$item->id.'/public_large/*');
$count = 0;
$user_avatar = '/themes/users/assets/img/noartwork.jpg';
foreach ($files as $file) {
$count++;
if ($count > 0 && is_file($file)) {
$user_avatar = $file;
}
}
?>
<div class="user-img" style="background-image:url('<?php echo site_url($user_avatar); ?>');"></div>
');代码>到双背景图像:url(“”)代码>它可以通过,但如果我在实际代码中做了此更改,情况就不是这样了
任何帮助都会很好
谢谢你试过删除单引号吗?像这样:
background-image:url(<?php echo site_url($user_avatar); ?>);
背景图像:url();
我找到了解决方法。这与用户文件名有关,该文件名包含一个我没有检查的特殊字符,例如my user's-image.jpg
在字符需要转义时中断代码my user's-image.jpg
我修改了foreach的foreach
来运行一个如下的检查,现在可以运行了
foreach ($files as $file) {
$count++;
if ($count > 0 && is_file($file)) {
$user_avatar = str_replace("'", "\'", $file);
}
}
谢谢