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

回答編集履歴

7

追記

2020/08/28 17:50

投稿

tanat
tanat

スコア18778

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

6

追記

2020/08/28 17:50

投稿

tanat
tanat

スコア18778

answer CHANGED
@@ -1,7 +1,9 @@
1
- (追記)手元の環境(CentOS7,PHP7.3.19,CSVはUTF-8)でテストをしてみたら、質問中のコードで特に問題無く動きました。
1
+ (追記)手元の環境(CentOS7,PHP7.3.19,CSVはUTF-8,改行コードはLF)でテストをしてみたら、質問中のコードで特に問題無く動きました。
2
2
 
3
- 実行環境(OS、PHPバージョン)文字コード等を提示されるとより適切な回答がつくかと思います。
3
+ 実行環境(OS、PHPバージョン)文字コード、改行コード等を提示されるとより適切な回答がつくかと思います。
4
+ (データを改行コードと文字コードが見えるエディタで作り直しても良いかもしれません)
4
5
 
6
+
5
7
  実行結果
6
8
  ```
7
9
  フィールド0:あああああ<br/>フィールド1:ああさあ<br/>フィールド2:入力して下さいあささ<br/>フィールド3:2020/08/27 02:14:43<br/>

5

追記

2020/08/27 06:33

投稿

tanat
tanat

スコア18778

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

4

補足

2020/08/27 06:31

投稿

tanat
tanat

スコア18778

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

3

追記

2020/08/27 06:29

投稿

tanat
tanat

スコア18778

answer CHANGED
@@ -1,3 +1,14 @@
1
+ テストをしてみたら、提示のコードで特に問題無く動きました。
2
+ 実行環境(OS、PHPバージョン)文字コード等を提示されるとより適切な回答がつくかと思います。
3
+
4
+ 実行結果
5
+ ```
6
+ フィールド0:あああああ<br/>フィールド1:ああさあ<br/>フィールド2:入力して下さいあささ<br/>フィールド3:2020/08/27 02:14:43<br/>
7
+ ```
8
+
9
+ 以下、追記前の回答
10
+ ---
11
+
1
12
  関数の挙動が良くわからない場合は
2
13
  [PHPマニュアル fgetcsv](https://www.php.net/manual/ja/function.fgetcsv.php)
3
14
  を参照して、オプションを色々試してみてください。
@@ -20,4 +31,6 @@
20
31
  ```PHP
21
32
  while($fields = fgetcsv($fp,0,',','"')){
22
33
  ```
23
- で行けそうな気がします。
34
+ で行けそうな気がします。
35
+ (追記)
36
+ * 第二、第三、第四引数はそれぞれデフォルト値と同じものを明示的に指定しているだけです

2

追記

2020/08/27 06:28

投稿

tanat
tanat

スコア18778

answer CHANGED
@@ -18,6 +18,6 @@
18
18
  ```
19
19
 
20
20
  ```PHP
21
- while($fields = fgetcsv($fp,,,',','"')){
21
+ while($fields = fgetcsv($fp,0,',','"')){
22
22
  ```
23
23
  で行けそうな気がします。

1

追記

2020/08/27 06:20

投稿

tanat
tanat

スコア18778

answer CHANGED
@@ -18,6 +18,6 @@
18
18
  ```
19
19
 
20
20
  ```PHP
21
- while($fields = fgetcsv($fp,,',','"')){
21
+ while($fields = fgetcsv($fp,,,',','"')){
22
22
  ```
23
23
  で行けそうな気がします。