質問編集履歴

3

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

2018/01/04 07:36

投稿

Ruse
Ruse

スコア13

test CHANGED
File without changes
test CHANGED
@@ -3,6 +3,16 @@
3
3
  特定のディレクトリに保存してあるファイル名が、
4
4
 
5
5
  PostgresqLのレコードにある項目Aの値と一致した場合、ファイル名を項目Bの値で書き換えるといったことを実現したいと考えています。
6
+
7
+
8
+
9
+ ※※※1/4 16:00 追記部分
10
+
11
+ テーブルには複数件のレコードが存在し、ディレクトリ上のファイルも複数件あります。
12
+
13
+ 項目A・項目Bの値はユニークであり、項目Aの値が別レコードの項目Bと一緒になることもありません。
14
+
15
+
6
16
 
7
17
 
8
18
 
@@ -78,6 +88,6 @@
78
88
 
79
89
 
80
90
 
81
- このような形でディレクトリ・ファイル名を取得出来ないかとは考えていました
91
+ このような形でディレクトリ・ファイル名を一律で取得出来ないかとは考えていました
82
92
 
83
93
  ただ、ここからどのように検索するかが分からず、質問させていただきました。

2

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

2018/01/04 07:36

投稿

Ruse
Ruse

スコア13

test CHANGED
@@ -1 +1 @@
1
- ディレクトリ内にあるファイル名を、PSQLのテーブルに保持した値によって書き換えたいですが、可能ですか?
1
+ ディレクトリ内にあるファイル名を、PSQLのテーブルに保持した値によって書き換えたいです
test CHANGED
@@ -54,27 +54,23 @@
54
54
 
55
55
  $path = './data2';
56
56
 
57
+ $res_dir = opendir( $path );
57
58
 
58
-
59
- //ディレクトリ内のファイルを取得
59
+
60
60
 
61
61
  $fname = array();
62
62
 
63
- i = 0
64
63
 
65
- if (is_dir($path) && $handle = opendir($path)) {
66
64
 
67
- //ファイル名を取得して配列に
65
+ //変数$fnameにファイル名を格納
68
66
 
69
- while (($file = readdir($handle)) !== false) {
67
+ while( $file_name = readdir( $res_dir ) ){
70
68
 
71
- i = i +1
72
-
73
- $fname[i-1] = $file;
69
+ array_push($fname, $file_name);
74
70
 
75
71
  }
76
72
 
77
- }
73
+
78
74
 
79
75
 
80
76
 

1

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

2018/01/04 06:58

投稿

Ruse
Ruse

スコア13

test CHANGED
File without changes
test CHANGED
@@ -25,3 +25,63 @@
25
25
 
26
26
 
27
27
  以上・よろしくお願いたします。
28
+
29
+
30
+
31
+
32
+
33
+ ↓ここから追記
34
+
35
+
36
+
37
+ ###該当のソースコード
38
+
39
+ ```
40
+
41
+ ***テーブル側の項目を取得
42
+
43
+ //SELECT文で該当テーブルの項目を取得
44
+
45
+ $sql = "SELECT ~~~~ ******";
46
+
47
+ $stmt = $dbh->query($sql);
48
+
49
+
50
+
51
+ ****ディレクトリ側
52
+
53
+ //特定のディレクトリ
54
+
55
+ $path = './data2';
56
+
57
+
58
+
59
+ //ディレクトリ内のファイルを取得
60
+
61
+ $fname = array();
62
+
63
+ i = 0
64
+
65
+ if (is_dir($path) && $handle = opendir($path)) {
66
+
67
+ //ファイル名を取得して配列に
68
+
69
+ while (($file = readdir($handle)) !== false) {
70
+
71
+ i = i +1
72
+
73
+ $fname[i-1] = $file;
74
+
75
+ }
76
+
77
+ }
78
+
79
+
80
+
81
+ ```
82
+
83
+
84
+
85
+ このような形でディレクトリ・ファイル名を取得出来ないかとは考えていました
86
+
87
+ ただ、ここからどのように検索するかが分からず、質問させていただきました。