回答編集履歴

7

追記

2020/08/28 17:50

投稿

tanat
tanat

スコア18713

test CHANGED
@@ -1,3 +1,37 @@
1
+ 回答
2
+
3
+ ---
4
+
5
+ ソースの最初に
6
+
7
+ ```PHP
8
+
9
+ setLocale(LC_ALL, 'English_United States.1252');
10
+
11
+ ```
12
+
13
+ と追記するとも無く動作しました。
14
+
15
+
16
+
17
+ IIS+PHP固有の問題っぽいのでこれ以上深掘りしませんが、
18
+
19
+ [Windows版 PHP7 の環境で CSV アップロードに失敗する #1780](https://github.com/EC-CUBE/ec-cube/issues/1780)
20
+
21
+
22
+
23
+ が参考になりました。
24
+
25
+
26
+
27
+ 個人的には、どうしてもIISを使わないといけない理由がない限りはApacheなりnginxなりで動かすか、仮想環境でLAMP環境を作る方がトラブルが少なくて幸せになれると思います。
28
+
29
+
30
+
31
+
32
+
33
+ ---
34
+
1
35
  (追記)手元の環境(CentOS7,PHP7.3.19,CSVはUTF-8,改行コードはLF)でテストをしてみたら、質問中のコードで特に問題無く動きました。
2
36
 
3
37
 

6

追記

2020/08/28 17:50

投稿

tanat
tanat

スコア18713

test CHANGED
@@ -1,8 +1,12 @@
1
- (追記)手元の環境(CentOS7,PHP7.3.19,CSVはUTF-8)でテストをしてみたら、質問中のコードで特に問題無く動きました。
1
+ (追記)手元の環境(CentOS7,PHP7.3.19,CSVはUTF-8,改行コードはLF)でテストをしてみたら、質問中のコードで特に問題無く動きました。
2
2
 
3
3
 
4
4
 
5
- 実行環境(OS、PHPバージョン)文字コード等を提示されるとより適切な回答がつくかと思います。
5
+ 実行環境(OS、PHPバージョン)文字コード、改行コード等を提示されるとより適切な回答がつくかと思います。
6
+
7
+ (データを改行コードと文字コードが見えるエディタで作り直しても良いかもしれません)
8
+
9
+
6
10
 
7
11
 
8
12
 

5

追記

2020/08/27 06:33

投稿

tanat
tanat

スコア18713

test CHANGED
@@ -1,4 +1,4 @@
1
- テストをしてみたら、質問中のコードで特に問題無く動きました。
1
+ (追記)手元の環境(CentOS7,PHP7.3.19,CSVはUTF-8)でテストをしてみたら、質問中のコードで特に問題無く動きました。
2
2
 
3
3
 
4
4
 

4

補足

2020/08/27 06:31

投稿

tanat
tanat

スコア18713

test CHANGED
@@ -1,4 +1,6 @@
1
- テストをしてみたら、提示のコードで特に問題無く動きました。
1
+ テストをしてみたら、質問中のコードで特に問題無く動きました。
2
+
3
+
2
4
 
3
5
  実行環境(OS、PHPバージョン)文字コード等を提示されるとより適切な回答がつくかと思います。
4
6
 

3

追記

2020/08/27 06:29

投稿

tanat
tanat

スコア18713

test CHANGED
@@ -1,3 +1,25 @@
1
+ テストをしてみたら、提示のコードで特に問題無く動きました。
2
+
3
+ 実行環境(OS、PHPバージョン)文字コード等を提示されるとより適切な回答がつくかと思います。
4
+
5
+
6
+
7
+ 実行結果
8
+
9
+ ```
10
+
11
+ フィールド0:あああああ<br/>フィールド1:ああさあ<br/>フィールド2:入力して下さいあささ<br/>フィールド3:2020/08/27 02:14:43<br/>
12
+
13
+ ```
14
+
15
+
16
+
17
+ 以下、追記前の回答
18
+
19
+ ---
20
+
21
+
22
+
1
23
  関数の挙動が良くわからない場合は
2
24
 
3
25
  [PHPマニュアル fgetcsv](https://www.php.net/manual/ja/function.fgetcsv.php)
@@ -43,3 +65,7 @@
43
65
  ```
44
66
 
45
67
  で行けそうな気がします。
68
+
69
+ (追記)
70
+
71
+ * 第二、第三、第四引数はそれぞれデフォルト値と同じものを明示的に指定しているだけです

2

追記

2020/08/27 06:28

投稿

tanat
tanat

スコア18713

test CHANGED
@@ -38,7 +38,7 @@
38
38
 
39
39
  ```PHP
40
40
 
41
- while($fields = fgetcsv($fp,,,',','"')){
41
+ while($fields = fgetcsv($fp,0,',','"')){
42
42
 
43
43
  ```
44
44
 

1

追記

2020/08/27 06:20

投稿

tanat
tanat

スコア18713

test CHANGED
@@ -38,7 +38,7 @@
38
38
 
39
39
  ```PHP
40
40
 
41
- while($fields = fgetcsv($fp,,',','"')){
41
+ while($fields = fgetcsv($fp,,,',','"')){
42
42
 
43
43
  ```
44
44