【发布时间】:2020-09-12 20:34:58
【问题描述】:
一个非常重要的细节是我创建的资产函数返回静态资产的完整路径,而不是php文件位置的相对路径
我做了什么:
public static function asset($url){
$file_path = __DIR__.'/../../../resources/assets/'.$url;
$file_path = str_replace("\\","/",$file_path);
return $file_path;
}
在包含 html 文件的 index.php 中:
<img width="500px" alt="<?php echo asset('images/image1.jpg');?>" src="<?php asset('images/image1.jpg');?>"/>
它为我提供了 alt 属性中文件的正确完整 URL,但没有显示图像。
它也不适用于 css 和 javascript
资产目录是
"__DIR__.'/../../../resources/assets/'.$url";
$url 是用户给出的参数。
这是 html 页面上返回的文件路径:
c:/xampp/htdocs/project/app/Utilities/View/../../../resources/assets/images/image1.jpg
返回的内容是否可以在我的 index.php 文件中用作图像 src ???
【问题讨论】:
-
您应该提供 Web 服务器配置文件,并最终提供项目的文件系统结构。
-
__DIR__是包含函数定义文件的目录/路径。您可能不希望这里有系统路径。 -
你没有在你的 src 中回显你的函数的返回。仔细检查生成的路径,它可能不适合作为公共 url。公共网络路径通常不同于系统文件路径。
-
@dakis,该应用正在开发中。我正在使用 xampp 服务器。
-
@Progrock,asset 函数工作得很好,它返回文件的完整文件路径,如果我复制返回的文件路径并将其粘贴到浏览器地址框中,它会显示图像,它只是不会在我的浏览器中加载它。另外,我打算使用返回的资产的文件是php文件,这对css和jscript文件有影响吗?
标签: php html css model-view-controller