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

回答編集履歴

3

修正

2017/09/22 07:42

投稿

m.ts10806
m.ts10806

スコア80888

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

2

修正

2017/09/22 07:42

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -11,6 +11,6 @@
11
11
  **list.csvの内容を1行ずつ行がなくなるまで読み込み、「,」を列の区切りとして配列でデータを取得する(最大行長は制限しない)**
12
12
  ですね。
13
13
 
14
- つまり、csvを作り直しているわけではなく、csvをメール配信リストとして「データとして」取り込み、
14
+ つまり、csvを作り直しているわけではなく、csvをメール配信リストとして「データとして(テンポラリファイルにうつして)」取り込み、
15
15
  取り込んだデータを行毎に取得した配列として後ほどループし、1件ずつメール送信を行っている、ということです。
16
- 情報を読み込んでいるだけなので元のcsvにはなんら影響しません。
16
+ 情報を読み込んでいるだけなので元のcsvにはなんら影響しません。

1

修正

2017/09/22 07:40

投稿

m.ts10806
m.ts10806

スコア80888

answer CHANGED
@@ -9,4 +9,8 @@
9
9
 
10
10
  これをご提示のサイトのコードに当てはめて要約すると
11
11
  **list.csvの内容を1行ずつ行がなくなるまで読み込み、「,」を列の区切りとして配列でデータを取得する(最大行長は制限しない)**
12
- ですね。
12
+ ですね。
13
+
14
+ つまり、csvを作り直しているわけではなく、csvをメール配信リストとして「データとして」取り込み、
15
+ 取り込んだデータを行毎に取得した配列として後ほどループし、1件ずつメール送信を行っている、ということです。
16
+ 情報を読み込んでいるだけなので元のcsvにはなんら影響しません。