1

Drupal インストールのディレクトリ構造を変更しており、ファイル名自体を除くすべてのパス データを削除する必要があります。

したがって、基本的な構造は次のとおりです。

+-------------+--------------+---------+-----------+-------------+----------+-------+----------------------------------------------------------------------------------+-----------------------+
| entity_type | bundle       | deleted | entity_id | revision_id | language | delta | field_filename_value                                                             | field_filename_format |
+-------------+--------------+---------+-----------+-------------+----------+-------+----------------------------------------------------------------------------------+-----------------------+

ファイル名は に保存されfield_filename_valueます。サンプル レコードは次のとおりです。

+-------------+--------------+---------+-----------+-------------+----------+-------+----------------------------------------------------------------------------------+-----------------------+
| entity_type | bundle       | deleted | entity_id | revision_id | language | delta | field_filename_value                                                             | field_filename_format |
+-------------+--------------+---------+-----------+-------------+----------+-------+----------------------------------------------------------------------------------+-----------------------+
| node        | presentation |       0 |        11 |          11 | und      |     0 | /really long path name/with lots of words/167 Clarence Ashley - Coo Coo Bird.mp3 | NULL                  |
+-------------+--------------+---------+-----------+-------------+----------+-------+----------------------------------------------------------------------------------+-----------------------+

そのばかげたファイル名の値は、次から変更する必要があります。

/非常に長いパス名/たくさんの単語を含む/167 Clarence Ashley - Coo Coo Bird.mp3

これに:

167 クラレンス・アシュリー - Coo Coo Bird.mp3

ファイル/ディレクトリ名にスペースを使用するという悪い習慣は別として、これをどのように修正しますか? MySQL の機能を単独で使用することは可能ですか?

追加の課題として、一部のファイルは 3 ディレクトリ以上の深さになる場合があります。

4

1 に答える 1

2

substring_index を使用

select substring_index(' http://www.example.com/dev/archive/examples/test.htm ','/',-1)

(上記の両方は完全に

MySQL 文字列の最後のインデックス

使い方は簡単ですが、説明すると、/ の最後のインデックスを選択し、別の部分文字列関数を実行して、その左側にあるものをすべて切り捨てます。

于 2013-08-10T04:07:57.467 に答える