You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP从子目录读取图片展示时如何调整路径前缀适配数据库存储

解决方案

你代码中glob使用../前缀是为了正确从当前脚本位置定位到图片存储目录,该读取逻辑无需调整,只需要在输出存入数据库的路径时做前缀处理即可。

可直接使用的修改后代码

<?php
// 读取文件的逻辑保持不变,glob需要相对路径才能正确找到服务器上的文件
$files = glob("../assets/images/newsimages/*.*");
var_dump($files);
// 支持的格式数组提到循环外,避免重复初始化
$supported_file = array(
    'gif',
    'jpg',
    'jpeg',
    'png'
);
for ($i = 0; $i < count($files); $i++) {
    $image = $files[$i];
    $ext = strtolower(pathinfo($image, PATHINFO_EXTENSION));
    if (in_array($ext, $supported_file)) {
        // 仅在此处处理输出的路径,去掉开头的../
        $save_path = str_replace('../', '', $image);
        // 也可以用更稳妥的拼接方式,避免路径异常:$save_path = 'assets/images/newsimages/' . basename($image);
        echo '<option value="'. $save_path .'">' . basename($image) . '</option>';
    } else {
        continue;
    }
}
?>

两种路径处理方式说明

  • 字符串替换方式:直接移除路径中所有../字符,适配目录层级有变动的场景
  • 固定前缀拼接方式:直接用要求的路径前缀加文件名,生成的路径更可控,不会出现意外的相对路径字符

内容的提问来源于stack exchange,提问作者Kaido

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 20:06:04