回答編集履歴

3

修正

2017/09/22 07:42

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -10,15 +10,23 @@
10
10
 
11
11
  > ファイルポインタから行を取得し、CSVフィールドを処理する
12
12
 
13
+ > fgetcsv() は行を CSV フォーマットのフィールドとして読込み処理を行い、 読み込んだフィールドを含む配列を返すという違いがあります。
13
14
 
14
15
 
16
+
17
+ - [tmpfile ](http://php.net/manual/ja/function.tmpfile.php)
18
+
19
+
20
+
15
- > fgetcsv() は行 CSV ォーマットのフィードとて読込み処理を行い読み込んだィールドを含む配列をすという違いがあります。
21
+ > 書き込み可のモード (w+) でユニークな名前有するテンポラリァイを作成し、 ファイハンを返ます。
22
+
23
+ > ファイルをクローズした場合や、スクリプトが終了したりしたときに、このファイルは自動的に削除されます。
16
24
 
17
25
 
18
26
 
19
27
  これをご提示のサイトのコードに当てはめて要約すると
20
28
 
21
- **list.csvの内容を1行ずつ行がなくなるまで読み込み、「,」を列の区切りとして配列でデータを取得する(最大行長は制限しない)**
29
+ **list.csvの内容を一時ファイルにうつした上で1行ずつ行がなくなるまで読み込み、「,」を列の区切りとして配列でデータを取得する(最大行長は制限しない)。スクリプトと終了同時に一時ファイルは削除される**
22
30
 
23
31
  ですね。
24
32
 

2

修正

2017/09/22 07:42

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -24,10 +24,8 @@
24
24
 
25
25
 
26
26
 
27
- つまり、csvを作り直しているわけではなく、csvをメール配信リストとして「データとして」取り込み、
27
+ つまり、csvを作り直しているわけではなく、csvをメール配信リストとして「データとして(テンポラリファイルにうつして)」取り込み、
28
28
 
29
29
  取り込んだデータを行毎に取得した配列として後ほどループし、1件ずつメール送信を行っている、ということです。
30
30
 
31
31
  情報を読み込んでいるだけなので元のcsvにはなんら影響しません。
32
-
33
-

1

修正

2017/09/22 07:40

投稿

m.ts10806
m.ts10806

スコア80850

test CHANGED
@@ -21,3 +21,13 @@
21
21
  **list.csvの内容を1行ずつ行がなくなるまで読み込み、「,」を列の区切りとして配列でデータを取得する(最大行長は制限しない)**
22
22
 
23
23
  ですね。
24
+
25
+
26
+
27
+ つまり、csvを作り直しているわけではなく、csvをメール配信リストとして「データとして」取り込み、
28
+
29
+ 取り込んだデータを行毎に取得した配列として後ほどループし、1件ずつメール送信を行っている、ということです。
30
+
31
+ 情報を読み込んでいるだけなので元のcsvにはなんら影響しません。
32
+
33
+