我正在对当前存储数据库中文件的完整路径(通过SQL)的php应用程序进行更改。但是,我只希望将部分路径存储在db中。该路径稍后在应用程序中重建,如果需要,可以在一个地方更改路径。
无论如何,写入db的内容是这样的:
Z:/TheStore/apps/myapp/assets/upload/docID/versionNumber\document.doc
但是,我想要做的是删除"Z:/TheStore/apps/myapp/assets/upload/"
只插入" docID / versionNumber \ document.doc"进入DB。
任何人都知道如何做到这一点?
路径的第一部分对于这个单独的应用程序将始终是相同的,所以我认为一种简单,快速和肮脏的方式是以某种方式从路径中删除确切的字符串"Z:/TheStore/apps/myapp/assets/upload/"
,然后将其存储到db,它会留下我想要的确切部分。或者,也许这是一个愚蠢的想法。你可以自由地告诉我。
感谢。
答案 0 :(得分:1)
您可以很容易地在MySQL中使用REPLACE
方法来获取现有数据:
UPDATE
tablename
SET
columnName = REPLACE(columnName, 'Z:/TheStore/apps/myapp/assets/upload/', '')
其中tablename
是表的名称,columnName
是存储此文件路径的列。
您可以在网址上使用str_replace
在php中执行等效操作(或跟踪您的docID和versionNumber以使字符串相对路径更好)。
$path = str_replace('Z:/TheStore/apps/myapp/assets/upload/','', $path);
其中$path
是完整的文件路径。