回答編集履歴

3

加筆修正

2018/03/27 03:41

投稿

退会済みユーザー
test CHANGED
@@ -97,3 +97,41 @@
97
97
  attach()が一度に1つしかファイルを受け付けないとしても、
98
98
 
99
99
  複数のファイルを順次与えていけば解決しそうに見えたので。
100
+
101
+
102
+
103
+ ---
104
+
105
+
106
+
107
+ もう1点。
108
+
109
+ ```
110
+
111
+ $filepath1 = "/".$username."/".$temp1;
112
+
113
+ $filepath2 = "/".$username."/".$temp2;
114
+
115
+ $filepath3 = "/".$username."/".$temp3;
116
+
117
+ $filepath4 = "/".$username."/".$temp4;
118
+
119
+ $filepath5 = "/".$username."/".$temp5;
120
+
121
+ $filepath6 = "/".$username."/".$temp6;
122
+
123
+
124
+
125
+ $array = [$filepath1,$filepath2,$filepath3,$filepath4,$filepath5,$filepath6];
126
+
127
+ ```
128
+
129
+ この箇所でファイルの存在を検証せず必ず6つファイルを与えようとしているけど、
130
+
131
+ ちゃんと**ファイルがあるか**確認できてますか?
132
+
133
+ `var_dump($array);`とかやって絶対パスが存在するかどうか、
134
+
135
+ ファイルにアクセス可能かどうか(fopen()/fclose()してみるとか)で
136
+
137
+ 確認できると思います。

2

typo修正

2018/03/27 03:41

投稿

退会済みユーザー
test CHANGED
@@ -92,4 +92,8 @@
92
92
 
93
93
  ```
94
94
 
95
- が正しいかわからないけど、添付したいファイルを一つずつattache()していけばいいんじゃないかなって、直感で思った次第。
95
+ が正しいかわからないけど、添付したいファイルを一つずつattach()していけばいいんじゃないかなって、直感で思った次第。
96
+
97
+ attach()が一度に1つしかファイルを受け付けないとしても、
98
+
99
+ 複数のファイルを順次与えていけば解決しそうに見えたので。

1

加筆修正

2018/03/27 01:56

投稿

退会済みユーザー
test CHANGED
@@ -7,3 +7,89 @@
7
7
  `is_array()`で引数が配列かどうか判定し、
8
8
 
9
9
  配列で渡された場合にforeach()ループで順次`$message->attach()`していけばいいのかも?
10
+
11
+
12
+
13
+ ---
14
+
15
+
16
+
17
+ ```
18
+
19
+ $array = [$filepath1,$filepath2,$filepath3,$filepath4,$filepath5,$filepath6];
20
+
21
+
22
+
23
+ $this->sendMailTo_w($filepath1);
24
+
25
+ ```
26
+
27
+ `$array` どこいった?
28
+
29
+ 仮に引数が`$this->sendMailTo_w($array);`だったと仮定して、
30
+
31
+ `private function sendMailTo_w($pdf)`を吟味すると、
32
+
33
+
34
+
35
+ ```
36
+
37
+ $email = [
38
+
39
+ 'to' => $to,
40
+
41
+ 'cc' => $cc,
42
+
43
+ 'bcc' => $bcc,
44
+
45
+ 'from_address' => $fromAddress,
46
+
47
+ 'from_name' => $fromName,
48
+
49
+ 'subject' => $subject,
50
+
51
+ 'attach' => $pdf
52
+
53
+ ];
54
+
55
+ ```
56
+
57
+ としてattacheに与えているように見えて、その先無名関数内で、
58
+
59
+ ```
60
+
61
+ if (array_key_exists('attach', $email) && $email['attach']) {
62
+
63
+ $message->attach($email['attach']);
64
+
65
+ }
66
+
67
+ ```
68
+
69
+ `&& $email['attach']`っていう参照の仕方はちょっと変。
70
+
71
+ ```
72
+
73
+ if (array_key_exists('attach', $email)) {
74
+
75
+ if (is_array($email['attach'])) {
76
+
77
+ foreach ($email['attach'] as $file) {
78
+
79
+ $message->attach($file);
80
+
81
+ }
82
+
83
+ }
84
+
85
+ else {
86
+
87
+ $message->attach($email['attach']);
88
+
89
+ }
90
+
91
+ }
92
+
93
+ ```
94
+
95
+ が正しいかわからないけど、添付したいファイルを一つずつattache()していけばいいんじゃないかなって、直感で思った次第。