PHP初学者的问题。
我需要在管理员后端的数据库中保留以下图像路径。
../../../../assets/images/subfolder/myimage.jpg
但是我需要前端的图像路径如下。
assets/images/subfolder/myimage.jpg
通过PHP更改此功能的最佳方法是什么?
我想到了substr(),但我想知道是否有更好的方法。
提前致谢。
答案 0 :(得分:0)
您应该将图片路径保存在应用程序变量中,并且可以从管理员和前端访问
答案 1 :(得分:0)
如果../../../../已修复,则substr将起作用。如果没有,请尝试这样的事情:
newpath=substr(strpos(path, "assets"));
答案 2 :(得分:0)
起初看起来似乎是一个奇怪的选择,但你可以使用ltrim。在以下示例中,将从../
的开头删除所有$path
。
第二个参数中的点必须被转义,因为PHP会将它们视为一个范围。
$path = ltrim('../../../../assets/images/subfolder/myimage.jpg', '\\.\\./');
$path
将成为:
assets/images/subfolder/myimage.jpg
答案 3 :(得分:0)
我建议这个
$path = "../../../../assets/images/subfolder/myimage.jpg";
$root = "../../../../";
$root_len = strlen($root);
if(substr($path, 0, $root_len) == $root){
echo substr($path, $root_len);
} else {
//not comparable
}
通过这种方式,您可以控制哪个目录作为图像的根目录