在我的本地服务器上,这个输出 ...浏览器不-6ren">
gpt4 book ai didi

php - 如何将绝对文件路径转换为一个 CSS 可以使用的路径?

转载 作者:行者123 更新时间:2023-11-28 13:40:30 27 4
gpt4 key购买 nike

我正在尝试在 WordPress 网站上显示随机选择的背景图片。我的策略是内联 style <html> 的属性元素,像这样:

<html style="background:#e8e6da url(<?php
$bg_imgs = glob(get_template_directory().'/backgrounds/*.jpg');
shuffle($bg_imgs);
echo $bg_imgs[0]; ?>) left top fixed">

在我的本地服务器上,这个输出

<html style="background:#e8e6da url(C:\xampp\htdocs\mysite/wp-content/themes/my_theme/backgrounds/paper2.jpg) left top fixed">

...浏览器不喜欢它,因为它要求获取本地资源。即使网站上线后这不是问题,我只需要图像文件的相对路径。

所以我正要搞砸使用 substr()砍掉路径中不需要的部分,但我不能确定,这取决于站点的部署位置,什么 get_template_directory()将返回。我不想硬编码任何可能不同的东西。

返回相对于站点 URL 的随机图像路径的最佳策略是什么?如果有更好的东西,我很乐意放弃上面的内容。

最佳答案

您可以尝试获取文档根目录并将其从完整路径的开头砍掉:

$docRoot_len = strlen($_SERVER['DOCUMENT_ROOT']);
$bg_imgs = glob(get_template_directory().'/backgrounds/*.jpg');
shuffle($bg_imgs);
echo substr($bg_imgs[0], $docRoot_len);

我知道这并非万无一失 - 这只是一个想法。

关于php - 如何将绝对文件路径转换为一个 CSS 可以使用的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7811113/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com