質問編集履歴
3
正解
title
CHANGED
File without changes
|
body
CHANGED
@@ -62,7 +62,51 @@
|
|
62
62
|
*/
|
63
63
|
public function handle()
|
64
64
|
{
|
65
|
+
|
66
|
+
$test = storage_path('app/public/study05.csv');
|
67
|
+
$pf = fopen($test, 'r');
|
68
|
+
$test1 = fopen('public/storage/test.csv', 'w');
|
69
|
+
if ($pf === false) {
|
70
|
+
echo "ファイルオープン時に失敗したので処理終了します。" . PHP_EOL;
|
71
|
+
exit;
|
72
|
+
}
|
73
|
+
|
74
|
+
$now = Carbon::today();
|
75
|
+
$out_year = substr($now, 0, 4);
|
76
|
+
$out_month = substr($now, 5, 2);
|
77
|
+
$i = 0;
|
78
|
+
$old_year = $out_year -2;
|
79
|
+
|
80
|
+
while ($line1 = fgets($pf)) {
|
81
|
+
$i++;
|
82
|
+
|
83
|
+
|
84
|
+
// カンマ分割
|
85
|
+
$test_field = explode(',', $line1);
|
86
|
+
|
87
|
+
// 日付分割
|
88
|
+
$test_date = explode('/', $test_field[0]);
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
$test2 = $test_field[0].','.$test_field[1].','.$test_field[2];
|
93
|
+
$test3 = mb_convert_encoding("$test2", "SJIS-win");
|
94
|
+
// fwrite($test1, $test3);
|
95
|
+
if($test_date[0] < $out_year || $test_date[1] <= $out_month){
|
96
|
+
fwrite($test1, $test3);
|
97
|
+
}
|
98
|
+
|
99
|
+
}
|
100
|
+
fclose($pf);
|
101
|
+
fclose($test1);
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
|
108
|
+
|
65
|
-
$filename = storage_path('app/public/
|
109
|
+
$filename = storage_path('app/public/test.csv');
|
66
110
|
$fp = fopen($filename, 'r');
|
67
111
|
|
68
112
|
if ($fp === false) {
|
2
インデント調整
title
CHANGED
File without changes
|
body
CHANGED
@@ -66,132 +66,132 @@
|
|
66
66
|
$fp = fopen($filename, 'r');
|
67
67
|
|
68
68
|
if ($fp === false) {
|
69
|
-
|
69
|
+
echo "ファイルオープン時に失敗したので処理終了します。" . PHP_EOL;
|
70
|
-
|
70
|
+
exit;
|
71
|
-
|
71
|
+
}
|
72
72
|
|
73
|
-
|
73
|
+
$is_error = false;
|
74
|
-
|
74
|
+
$break_key_year = '';
|
75
|
-
|
75
|
+
$break_key_month = '';
|
76
|
-
|
76
|
+
$i = 0;
|
77
77
|
|
78
|
-
|
78
|
+
$nyukin = 0; // 入金
|
79
|
-
|
79
|
+
$syukin = 0; // 出金
|
80
80
|
|
81
|
-
|
81
|
+
$a = 0;
|
82
|
-
|
82
|
+
$b = 0;
|
83
83
|
|
84
|
-
|
84
|
+
while ($line = fgets($fp)) {
|
85
|
-
|
85
|
+
$i++;
|
86
86
|
|
87
|
-
|
87
|
+
// ファイル読込終了判定
|
88
|
-
|
88
|
+
if (feof($fp)) {
|
89
|
-
|
89
|
+
break;
|
90
|
-
|
90
|
+
}
|
91
91
|
|
92
|
-
|
92
|
+
// ファイル読込エラー判定
|
93
|
-
|
93
|
+
if ($line === false) {
|
94
|
-
|
94
|
+
echo "ファイル読込時に失敗したので処理終了します。" . PHP_EOL;
|
95
|
-
|
95
|
+
$is_error = true;
|
96
|
-
|
96
|
+
break;
|
97
|
-
|
97
|
+
}
|
98
98
|
|
99
|
-
|
99
|
+
// カンマ分割
|
100
|
-
|
100
|
+
$work_field = explode(',', $line);
|
101
101
|
|
102
|
-
|
102
|
+
// 日付分割
|
103
|
-
|
103
|
+
$work_date = explode('/', $work_field[0]);
|
104
104
|
|
105
|
-
|
105
|
+
$stock_nyukin[] = $work_field[1];
|
106
|
-
|
106
|
+
$total_nyukin = array_sum($stock_nyukin);
|
107
107
|
|
108
|
-
|
108
|
+
$stock_syukin[] = $work_field[2];
|
109
|
-
|
109
|
+
$total_syukin = array_sum($stock_syukin);
|
110
110
|
|
111
|
-
|
111
|
+
$now = Carbon::today();
|
112
|
-
|
112
|
+
$out_year = substr($now, 0, 4);
|
113
|
-
|
113
|
+
$out_month = substr($now, 5, 2);
|
114
114
|
|
115
|
+
// if($break_key_year = $out_year && $break_key_month = $out_month){
|
116
|
+
// break;
|
117
|
+
// }
|
115
118
|
|
116
|
-
|
119
|
+
// if($work_date[0] = $out_year && $work_date[1] = $out_month){
|
120
|
+
// break;
|
121
|
+
// }
|
117
122
|
|
118
|
-
|
123
|
+
if (($break_key_year != $work_date[0]) || ($break_key_month != $work_date[1])) {
|
119
|
-
break;
|
120
|
-
}
|
121
124
|
|
122
|
-
|
123
|
-
|
125
|
+
if ($i != 1) {
|
124
|
-
|
125
|
-
echo $break_key_year.'年'.$break_key_month.'月'.'入金集計:'.$nyukin.'、出金合計:'.$syukin.PHP_EOL;
|
126
126
|
|
127
|
-
$stock_year_nyukin[] = $nyukin;
|
128
|
-
|
127
|
+
echo $break_key_year . '年' . $break_key_month . '月' . '入金集計:' . $nyukin . '、出金合計:' . $syukin . PHP_EOL;
|
129
128
|
|
130
|
-
|
129
|
+
$stock_year_nyukin[] = $nyukin;
|
131
|
-
|
130
|
+
$year_nyukin = array_sum($stock_year_nyukin);
|
132
|
-
|
133
|
-
$nyukin = 0;
|
134
|
-
$syukin = 0;
|
135
131
|
|
132
|
+
$stock_year_syukin[] = $syukin;
|
136
|
-
|
133
|
+
$year_syukin = array_sum($stock_year_syukin);
|
137
134
|
|
138
|
-
echo '---------------------------------------------------'.PHP_EOL;
|
139
|
-
echo $break_key_year.'年:'.'入金合計:'.$year_nyukin.'、出金合計:'.$year_syukin.PHP_EOL;
|
140
|
-
|
135
|
+
$nyukin = 0;
|
136
|
+
$syukin = 0;
|
141
137
|
|
142
|
-
|
138
|
+
if (($break_key_year != $work_date[0])) {
|
143
|
-
$keep2 = $year_syukin;
|
144
|
-
|
145
|
-
}
|
146
139
|
|
147
|
-
|
140
|
+
echo '---------------------------------------------------' . PHP_EOL;
|
148
|
-
|
149
|
-
|
141
|
+
echo $break_key_year . '年:' . '入金合計:' . $year_nyukin . '、出金合計:' . $year_syukin . PHP_EOL;
|
150
|
-
|
142
|
+
echo PHP_EOL;
|
151
|
-
|
152
|
-
}
|
153
143
|
|
154
|
-
|
155
|
-
|
144
|
+
$keep1 = $year_nyukin;
|
156
|
-
|
145
|
+
$keep2 = $year_syukin;
|
157
146
|
|
158
|
-
if(empty($w_nyukin) && empty($w_syukin)){
|
159
|
-
echo $i.'行目のデータがありませんのでデータをスキップします。'.PHP_EOL;
|
160
|
-
continue;
|
161
|
-
|
147
|
+
}
|
162
148
|
|
163
|
-
//通常処理
|
164
|
-
if (empty($w_nyukin)) {
|
165
|
-
$syukin += $w_syukin;
|
166
|
-
} else {
|
167
|
-
$nyukin += $w_nyukin;
|
168
|
-
|
149
|
+
}
|
169
150
|
|
151
|
+
$break_key_year = $work_date[0];
|
152
|
+
$break_key_month = $work_date[1];
|
170
153
|
|
171
|
-
}
|
154
|
+
}
|
172
155
|
|
173
|
-
|
156
|
+
$w_nyukin = trim($work_field[1]);
|
174
|
-
|
157
|
+
$w_syukin = trim($work_field[2]);
|
175
158
|
|
159
|
+
if (empty($w_nyukin) && empty($w_syukin)) {
|
160
|
+
echo $i . '行目のデータがありませんのでデータをスキップします。' . PHP_EOL;
|
161
|
+
continue;
|
162
|
+
}
|
163
|
+
|
164
|
+
//通常処理
|
165
|
+
if (empty($w_nyukin)) {
|
166
|
+
$syukin += $w_syukin;
|
167
|
+
} else {
|
168
|
+
$nyukin += $w_nyukin;
|
169
|
+
}
|
170
|
+
|
171
|
+
// if($break_key_year = $out_year && $break_key_month = $out_month){
|
172
|
+
// break;
|
173
|
+
// }
|
174
|
+
|
175
|
+
}
|
176
|
+
|
177
|
+
$a = $total_nyukin - $keep1;
|
178
|
+
$b = $total_syukin - $keep2;
|
179
|
+
|
176
|
-
echo $break_key_year.'年'.$break_key_month.'月'.'入金集計:'.$nyukin.'、出金合計:'.$syukin.PHP_EOL;
|
180
|
+
echo $break_key_year . '年' . $break_key_month . '月' . '入金集計:' . $nyukin . '、出金合計:' . $syukin . PHP_EOL;
|
177
|
-
echo '---------------------------------------------------'.PHP_EOL;
|
181
|
+
echo '---------------------------------------------------' . PHP_EOL;
|
178
|
-
echo $break_key_year.'年:'.'入金合計:'.$a.'、出金合計:'.$b.PHP_EOL;
|
182
|
+
echo $break_key_year . '年:' . '入金合計:' . $a . '、出金合計:' . $b . PHP_EOL;
|
179
183
|
echo PHP_EOL;
|
180
|
-
echo '========================================='.PHP_EOL;
|
184
|
+
echo '=========================================' . PHP_EOL;
|
181
|
-
echo 'トータル:'.'入金合計:'.$total_nyukin.'、出金合計:'.$total_syukin.PHP_EOL;
|
185
|
+
echo 'トータル:' . '入金合計:' . $total_nyukin . '、出金合計:' . $total_syukin . PHP_EOL;
|
182
186
|
fclose($fp);
|
183
187
|
|
188
|
+
if ($i == 0) {
|
189
|
+
echo "指定されたファイルは空ファイルでした。" . PHP_EOL;
|
190
|
+
}
|
184
191
|
|
185
|
-
if ($i == 0) {
|
186
|
-
echo "指定されたファイルは空ファイルでした。".PHP_EOL;
|
187
|
-
}
|
188
|
-
|
189
|
-
|
190
192
|
return 0;
|
191
|
-
}
|
193
|
+
}
|
192
|
-
|
193
194
|
|
194
|
-
|
195
195
|
}
|
196
196
|
|
197
197
|
```
|
1
インデント調整
title
CHANGED
File without changes
|
body
CHANGED
@@ -78,11 +78,11 @@
|
|
78
78
|
$nyukin = 0; // 入金
|
79
79
|
$syukin = 0; // 出金
|
80
80
|
|
81
|
-
$a =0;
|
81
|
+
$a =0;
|
82
|
-
$b =0;
|
82
|
+
$b =0;
|
83
83
|
|
84
|
-
while ($line = fgets($fp)) {
|
84
|
+
while ($line = fgets($fp)) {
|
85
|
-
|
85
|
+
$i++;
|
86
86
|
|
87
87
|
// ファイル読込終了判定
|
88
88
|
if (feof($fp)) {
|
@@ -142,9 +142,9 @@
|
|
142
142
|
$keep1 = $year_nyukin;
|
143
143
|
$keep2 = $year_syukin;
|
144
144
|
|
145
|
-
|
145
|
+
}
|
146
146
|
|
147
|
-
|
147
|
+
}
|
148
148
|
|
149
149
|
$break_key_year = $work_date[0];
|
150
150
|
$break_key_month = $work_date[1];
|
@@ -152,8 +152,8 @@
|
|
152
152
|
}
|
153
153
|
|
154
154
|
|
155
|
-
|
155
|
+
$w_nyukin = trim($work_field[1]);
|
156
|
-
|
156
|
+
$w_syukin = trim($work_field[2]);
|
157
157
|
|
158
158
|
if(empty($w_nyukin) && empty($w_syukin)){
|
159
159
|
echo $i.'行目のデータがありませんのでデータをスキップします。'.PHP_EOL;
|
@@ -170,21 +170,21 @@
|
|
170
170
|
|
171
171
|
}
|
172
172
|
|
173
|
-
$a = $total_nyukin - $keep1;
|
173
|
+
$a = $total_nyukin - $keep1;
|
174
|
-
$b = $total_syukin - $keep2;
|
174
|
+
$b = $total_syukin - $keep2;
|
175
175
|
|
176
|
-
echo $break_key_year.'年'.$break_key_month.'月'.'入金集計:'.$nyukin.'、出金合計:'.$syukin.PHP_EOL;
|
176
|
+
echo $break_key_year.'年'.$break_key_month.'月'.'入金集計:'.$nyukin.'、出金合計:'.$syukin.PHP_EOL;
|
177
177
|
echo '---------------------------------------------------'.PHP_EOL;
|
178
178
|
echo $break_key_year.'年:'.'入金合計:'.$a.'、出金合計:'.$b.PHP_EOL;
|
179
179
|
echo PHP_EOL;
|
180
|
-
echo '========================================='.PHP_EOL;
|
180
|
+
echo '========================================='.PHP_EOL;
|
181
|
-
echo 'トータル:'.'入金合計:'.$total_nyukin.'、出金合計:'.$total_syukin.PHP_EOL;
|
181
|
+
echo 'トータル:'.'入金合計:'.$total_nyukin.'、出金合計:'.$total_syukin.PHP_EOL;
|
182
|
-
fclose($fp);
|
182
|
+
fclose($fp);
|
183
183
|
|
184
184
|
|
185
|
-
if ($i == 0) {
|
185
|
+
if ($i == 0) {
|
186
186
|
echo "指定されたファイルは空ファイルでした。".PHP_EOL;
|
187
|
-
}
|
187
|
+
}
|
188
188
|
|
189
189
|
|
190
190
|
return 0;
|