質問編集履歴
3
追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -19,6 +19,18 @@
|
|
19
19
|
|
20
20
|
|
21
21
|
```ここに言語を入力
|
22
|
+
|
23
|
+
$fileName = $request->file('upload_file')->store('');
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
$sjis = file_get_contents(storage_path('app/') . $fileName);
|
28
|
+
|
29
|
+
$utf8 = mb_convert_encoding($sjis, 'UTF-8', 'SJIS-win');
|
30
|
+
|
31
|
+
file_put_contents(storage_path('app/') . $fileName.'.utf8', $utf8);
|
32
|
+
|
33
|
+
|
22
34
|
|
23
35
|
$fp = fopen(storage_path('app/') . $fileName.'.utf8', 'r');
|
24
36
|
|
2
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -46,6 +46,38 @@
|
|
46
46
|
|
47
47
|
|
48
48
|
|
49
|
+
ローカル環境で、本番環境でアップロードできたCSVをアップロードすると
|
50
|
+
|
51
|
+
'登録に失敗しました。CSVファイルのフォーマットが正しいことを確認してださい。'とエラーメッセージが
|
52
|
+
|
53
|
+
出てきます。もちろんDBにも反映されておりません。ログはないように思います。
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
エラーはCSVの列が42行ないとエラーになるようになっています。
|
58
|
+
|
59
|
+
CSVをddで調べたところ37行でした。
|
60
|
+
|
61
|
+
0 => "A"
|
62
|
+
|
63
|
+
1 => "B"
|
64
|
+
|
65
|
+
2 => "C"
|
66
|
+
|
67
|
+
3 => "D"
|
68
|
+
|
69
|
+
4 => "E"
|
70
|
+
|
71
|
+
5 => "F",G""
|
72
|
+
|
73
|
+
・
|
74
|
+
|
75
|
+
・
|
76
|
+
|
77
|
+
・
|
78
|
+
|
79
|
+
上記のようにところどころ【5 => "F",G""】のような形になり
|
80
|
+
|
49
|
-
|
81
|
+
その分列が少なくなってしまっています。
|
50
82
|
|
51
83
|
本番環境で同じCSVをやると正常に動きます。
|
1
コード追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -15,3 +15,37 @@
|
|
15
15
|
ローカル環境の問題だと思うのですが、どうすればいいかわかりません。
|
16
16
|
|
17
17
|
何かお分かりであればご教授頂けないでしょうか?
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
```ここに言語を入力
|
22
|
+
|
23
|
+
$fp = fopen(storage_path('app/') . $fileName.'.utf8', 'r');
|
24
|
+
|
25
|
+
$headers = fgetcsv($fp);
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
if (42 != count($headers)) {
|
30
|
+
|
31
|
+
fclose($fp);
|
32
|
+
|
33
|
+
Storage::delete($fileName);
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
$form = new Form();
|
38
|
+
|
39
|
+
$form->setMessage('danger', '登録に失敗しました。CSVファイルのフォーマットが正しいことを確認してださい。');
|
40
|
+
|
41
|
+
return view('forms.upload', ['form' => $form]);
|
42
|
+
|
43
|
+
}
|
44
|
+
|
45
|
+
```
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
上記に引っかかってしまいます。
|
50
|
+
|
51
|
+
本番環境で同じCSVをやると正常に動きます。
|