2016-08-11 233 views
0

我正在修改当前正在存储数据库中的文件的完整路径(通过SQL)的PHP应用程序。但是,我只想将部分路径存储在数据库中。该路径稍后将在应用程序内重新构建,以便在需要时只在一个地方更改路径。拆分和存储分区中的文件路径的一部分

不管怎么说,被写入到数据库是这样的: Z:/TheStore/apps/myapp/assets/upload/docID/versionNumber\document.doc

但是,我想要做的是去除"Z:/TheStore/apps/myapp/assets/upload/"

而且只有将“docID的/ VERSIONNUMBER \ document.doc “进入数据库。

任何人都有一个好主意如何做到这一点?

对于这个单独的应用程序,路径的第一部分总是相同的,所以我认为一个简单,快速和肮脏的方法将以某种方式从路径中删除确切的字符串"Z:/TheStore/apps/myapp/assets/upload/",然后将其存储到数据库,这将留下我想要的确切部分。或者,也许这是一个愚蠢的想法。你可以自由告诉我。

谢谢。

回答

1

你可以在MySQL中使用REPLACE方法很容易地对现有的数据:

UPDATE 
    tablename 
SET 
    columnName = REPLACE(columnName, 'Z:/TheStore/apps/myapp/assets/upload/', '') 

其中tablename是表的名称和columnName是该文件的路径存储在列

你可以做相当于php(或者跟踪你的docID和versionNumber来创建一个字符串相对路径会更好),在url上使用str_replace

$path = str_replace('Z:/TheStore/apps/myapp/assets/upload/','', $path); 

其中$path是完整的文件路径。

+0

谢谢,这有帮助! – CGM