teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

レコードは複数レコードある旨の記述を追加

2018/01/04 07:36

投稿

Ruse
Ruse

スコア13

title CHANGED
File without changes
body CHANGED
@@ -2,6 +2,11 @@
2
2
  特定のディレクトリに保存してあるファイル名が、
3
3
  PostgresqLのレコードにある項目Aの値と一致した場合、ファイル名を項目Bの値で書き換えるといったことを実現したいと考えています。
4
4
 
5
+ ※※※1/4 16:00 追記部分
6
+ テーブルには複数件のレコードが存在し、ディレクトリ上のファイルも複数件あります。
7
+ 項目A・項目Bの値はユニークであり、項目Aの値が別レコードの項目Bと一緒になることもありません。
8
+
9
+
5
10
  イメージ的には
6
11
 
7
12
  ディレクトリ内 "ABC123.html"というファイルがあった場合、
@@ -38,5 +43,5 @@
38
43
 
39
44
  ```
40
45
 
41
- このような形でディレクトリ・ファイル名を取得出来ないかとは考えていました
46
+ このような形でディレクトリ・ファイル名を一律で取得出来ないかとは考えていました
42
47
  ただ、ここからどのように検索するかが分からず、質問させていただきました。

2

ディレクトリファイル取得式が間違っていたため

2018/01/04 07:36

投稿

Ruse
Ruse

スコア13

title CHANGED
@@ -1,1 +1,1 @@
1
- ディレクトリ内にあるファイル名を、PSQLのテーブルに保持した値によって書き換えたいですが、可能ですか?
1
+ ディレクトリ内にあるファイル名を、PSQLのテーブルに保持した値によって書き換えたいです
body CHANGED
@@ -26,17 +26,15 @@
26
26
  ****ディレクトリ側
27
27
  //特定のディレクトリ
28
28
  $path = './data2';
29
+ $res_dir = opendir( $path );
30
+
31
+ $fname = array();
29
32
 
30
- //ディレクトリ内のファイルを取得
33
+ //変数$fnameにファイル格納
31
- $fname = array();
32
- i = 0
33
- if (is_dir($path) && $handle = opendir($path)) {
34
- //ファイル名を取得して配列に
35
- while (($file = readdir($handle)) !== false) {
34
+ while( $file_name = readdir( $res_dir ) ){
36
- i = i +1
37
- $fname[i-1] = $file;
35
+ array_push($fname, $file_name);
38
36
  }
39
- }
37
+
40
38
 
41
39
  ```
42
40
 

1

試した部分等が足りていなかったので追加しました。指摘ありがとうございます。

2018/01/04 06:58

投稿

Ruse
Ruse

スコア13

title CHANGED
File without changes
body CHANGED
@@ -11,4 +11,34 @@
11
11
  ###補足情報(言語/FW/ツール等のバージョンなど)
12
12
  php7.1.9 Postgresql 9.6.5
13
13
 
14
- 以上・よろしくお願いたします。
14
+ 以上・よろしくお願いたします。
15
+
16
+
17
+ ↓ここから追記
18
+
19
+ ###該当のソースコード
20
+ ```
21
+ ***テーブル側の項目を取得
22
+ //SELECT文で該当テーブルの項目を取得
23
+ $sql = "SELECT ~~~~ ******";
24
+ $stmt = $dbh->query($sql);
25
+
26
+ ****ディレクトリ側
27
+ //特定のディレクトリ
28
+ $path = './data2';
29
+
30
+ //ディレクトリ内のファイルを取得
31
+ $fname = array();
32
+ i = 0
33
+ if (is_dir($path) && $handle = opendir($path)) {
34
+ //ファイル名を取得して配列に
35
+ while (($file = readdir($handle)) !== false) {
36
+ i = i +1
37
+ $fname[i-1] = $file;
38
+ }
39
+ }
40
+
41
+ ```
42
+
43
+ このような形でディレクトリ・ファイル名を取得出来ないかとは考えていました
44
+ ただ、ここからどのように検索するかが分からず、質問させていただきました。