WP附件路径不兼容CI4资源目录迁移实操

陌墨酱_3202

陌墨酱_3202

2026-08-17

182人浏览

原创

wordpress附件路径与ci4资源目录本质不同,不存在直接兼容:wp的wp-content/uploads是数据库记录url的动态媒体体系,ci4的public/仅为静态资源服务目录,不管理上传逻辑或路径存储。

wp附件路径不兼容ci4资源目录迁移实操

WordPress 附件路径和 CodeIgniter 4(CI4)资源目录本质不同,不存在“直接兼容”或“路径迁移”的技术逻辑——WP 的 wp-content/uploads 是动态生成、数据库记录 URL 的媒体存储体系;而 CI4 的 public/ 是静态资源服务目录,不管理上传逻辑,也不写入数据库路径。强行把 WP 的附件路径套用到 CI4 会导致 404、URL 失效、数据库引用断裂等问题。

先理清根本区别

WP 附件路径依赖三要素: – 文件物理位置(如 /wp-content/uploads/2025/08/image.jpg) – 数据库中存储的完整 URL(如 https://old.com/wp-content/uploads/2025/08/image.jpg) – .htaccess 或 Nginx 规则支持按路径直接访问

CI4 资源目录只做一件事: – 所有对外可访问的静态文件(图片、CSS、JS)必须放在 public/ 下,由 Web 服务器直接响应; – CI4 本身不记录上传文件路径到数据库,也不自动生成年月子目录; – 上传逻辑需开发者自行实现,且路径只能是 public/xxx/ 下的相对路径。

若你正从 WP 迁移内容到 CI4 站点

这不是路径“同步”,而是内容“重映射”。你需要做的是:

Levity
Levity

Levity是一款面向物流运营和复杂收件箱流程的 AI 自动化平台。

下载
  • 将 WP 的 wp-content/uploads/ 全部复制到 CI4 的 public/uploads/(或 public/media/),保持原有年月目录结构
  • 导出 WP 文章数据时,提取正文中的 <img src="...>%20%E9%93%BE%E6%8E%A5%EF%BC%8C%E6%89%B9%E9%87%8F%E6%9B%BF%E6%8D%A2%E5%9F%9F%E5%90%8D%E5%92%8C%E8%B7%AF%E5%BE%84%E5%89%8D%E7%BC%80%EF%BC%9A
    %E3%80%80%E3%80%80https://old.com/wp-content/uploads/%20%E2%86%92%20/uploads/
  • %0A%20%20
  • %E5%A6%82%E6%9E%9C%E4%BF%9D%E7%95%99%E5%8E%9F%E5%A7%8B%20HTML%20%E5%86%85%E5%AE%B9%E5%85%A5%E5%BA%93%EF%BC%88%E5%A6%82%E5%AD%98%E8%BF%9B%20CI4%20%E7%9A%84%20posts.content%20%E5%AD%97%E6%AE%B5%EF%BC%89%EF%BC%8C%E7%A1%AE%E4%BF%9D%E6%89%80%E6%9C%89%E5%9B%BE%E7%89%87%20URL%20%E5%B7%B2%E8%BD%AC%E4%B8%BA%E7%AB%99%E7%82%B9%E6%A0%B9%E7%9B%B8%E5%AF%B9%E8%B7%AF%E5%BE%84%EF%BC%88%E4%BB%A5%20/%20%E5%BC%80%E5%A4%B4%EF%BC%89%EF%BC%8C%E5%90%A6%E5%88%99%E6%97%A0%E6%B3%95%E5%9C%A8%20CI4%20%E4%B8%AD%E6%AD%A3%E7%A1%AE%E5%8A%A0%E8%BD%BD
  • %0A%20%20
  • %E4%B8%8D%E8%A6%81%E8%AF%95%E5%9B%BE%E8%AE%A9%20CI4%20%E2%80%9C%E8%AF%86%E5%88%AB%E2%80%9D%20wp-content%20%E7%9B%AE%E5%BD%95%E2%80%94%E2%80%94%E5%AE%83%E6%97%A2%E4%B8%8D%E6%89%AB%E6%8F%8F%E8%AF%A5%E8%B7%AF%E5%BE%84%EF%BC%8C%E4%B9%9F%E4%B8%8D%E6%8F%90%E4%BE%9B%E8%B7%AF%E7%94%B1%E6%94%AF%E6%8C%81
  • %0A
%0A%0A

%E4%B8%8A%E4%BC%A0%E5%8A%9F%E8%83%BD%E9%9C%80%E9%87%8D%E6%96%B0%E8%AE%BE%E8%AE%A1%EF%BC%88%E4%B8%8D%E8%83%BD%E5%A4%8D%E7%94%A8%20WP%20%E9%80%BB%E8%BE%91%EF%BC%89

%0A

CI4%20%E6%B2%A1%E6%9C%89%20wp_upload_bits()%20%E8%BF%99%E7%B1%BB%E5%87%BD%E6%95%B0%E3%80%82%E5%AE%9E%E6%93%8D%E5%BB%BA%E8%AE%AE%EF%BC%9A

%0A
    %0A%20%20
  • %E5%88%9B%E5%BB%BA%20app/Controllers/Upload.php%EF%BC%8C%E7%94%A8%20CodeIgniter%5CFiles%5CFile%20%E5%A4%84%E7%90%86%E4%B8%8A%E4%BC%A0
  • %0A%20%20
  • %E4%BF%9D%E5%AD%98%E8%B7%AF%E5%BE%84%E5%9B%BA%E5%AE%9A%E4%B8%BA%20WRITEPATH%20.%20'../public/uploads/'%20.%20date('Y/m')%20.%20'/'%EF%BC%88%E6%B3%A8%E6%84%8F%20WRITEPATH%20%E6%98%AF%E5%8F%AF%E5%86%99%E7%9B%AE%E5%BD%95%EF%BC%8Cpublic%20%E6%98%AF%20Web%20%E6%A0%B9%EF%BC%89
  • %0A%20%20
  • %E6%95%B0%E6%8D%AE%E5%BA%93%E4%B8%AD%E5%8F%AA%E5%AD%98%E7%9B%B8%E5%AF%B9%E8%B7%AF%E5%BE%84%EF%BC%88%E5%A6%82%20uploads/2025/08/photo.jpg%EF%BC%89%EF%BC%8C%E5%89%8D%E7%AB%AF%E6%8B%BC%E6%8E%A5%20base_url(%24path)%20%E8%BE%93%E5%87%BA%E5%AE%8C%E6%95%B4%20URL
  • %0A%20%20
  • %E9%81%BF%E5%85%8D%E5%BA%8F%E5%88%97%E5%8C%96%E8%B7%AF%E5%BE%84%E2%80%94%E2%80%94CI4%20%E4%B8%8D%E5%A4%84%E7%90%86%20PHP%20%E5%BA%8F%E5%88%97%E5%8C%96%E6%95%B0%E6%8D%AE%EF%BC%8C%E4%B8%8D%E5%83%8F%20WP%20%E5%8F%AF%E8%83%BD%E5%AD%98%20serialized%20meta
  • %0A
%0A%0A

%E5%B8%B8%E8%A7%81%E8%B8%A9%E5%9D%91%E7%82%B9

%0A

%E2%80%93%20%E6%8A%8A%20wp-content%20%E6%95%B4%E4%B8%AA%E7%9B%AE%E5%BD%95%E6%89%94%E8%BF%9B%20CI4%20%E7%9A%84%20app/%20%E6%88%96%20writable/%EF%BC%9AWeb%20%E6%97%A0%E6%B3%95%E8%AE%BF%E9%97%AE%EF%BC%8C%E4%B8%94%E8%BF%9D%E5%8F%8D%20CI4%20%E7%9B%AE%E5%BD%95%E5%AE%89%E5%85%A8%E8%A7%84%E8%8C%83
%20%20%0A%E2%80%93%20%E5%9C%A8%20CI4%20%E4%B8%AD%E7%A1%AC%E7%BC%96%E7%A0%81%20wp-content/uploads%20%E8%B7%AF%E5%BE%84%EF%BC%9A403%20Forbidden%20%E6%88%96%20404%EF%BC%8C%E5%9B%A0%E8%AF%A5%E8%B7%AF%E5%BE%84%E4%B8%8D%E5%9C%A8%20public/%20%E4%B8%8B
%20%20%0A%E2%80%93%20%E7%9B%B4%E6%8E%A5%E5%AF%BC%E5%85%A5%20WP%20%E7%9A%84%20wp_posts.post_content%20%E5%AD%97%E6%AE%B5%E5%8D%B4%E4%B8%8D%E6%9B%BF%E6%8D%A2%E5%9B%BE%E7%89%87%20URL%EF%BC%9A%E9%A1%B5%E9%9D%A2%E6%98%BE%E7%A4%BA%E5%8F%89%E5%8F%B7%EF%BC%8C%E6%8E%A7%E5%88%B6%E5%8F%B0%E6%8A%A5%20404
%20%20%0A%E2%80%93%20%E7%94%A8%20CI4%20%E7%9A%84%20image%20manipulation%20%E7%B1%BB%E5%A4%84%E7%90%86%E5%B7%B2%E4%B8%8A%E4%BC%A0%E7%9A%84%20WP%20%E5%9B%BE%E7%89%87%EF%BC%9A%E8%B7%AF%E5%BE%84%E6%9D%83%E9%99%90%E9%94%99%E8%AF%AF%EF%BC%8C%E5%9B%A0%E6%9C%AA%E7%A1%AE%E8%AE%A4%20public/uploads/%20%E7%9B%AE%E5%BD%95%E5%8F%AF%E5%86%99%E4%B8%94%20Web%20%E7%94%A8%E6%88%B7%E6%9C%89%E8%AF%BB%E5%8F%96%E6%9D%83

%0A">

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
php文件怎么打开
php文件怎么打开

打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

2023.09.01

9064

6

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.11

5501

5

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.11

2015

5

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

2023.10.23

3408

4

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

2023.10.23

4094

6

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.03

3191

9

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.09

4537

8

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.13

3542

8

sprintf函数用法详解
sprintf函数用法详解

sprintf函数的用法:1、格式化字符串;2、指定输出宽度和精度;3、返回值。更多关于sprintf函数用法详解的内容,大家可以阅读下面的文章。

2023.11.27

11582

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.1万人学习