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

質問編集履歴

5

詳細変更

2021/01/01 05:49

投稿

ykkk
ykkk

スコア91

title CHANGED
File without changes
body CHANGED
@@ -51,7 +51,7 @@
51
51
  echo $line.php_EOL;
52
52
  echo "--------------\n";
53
53
  }
54
-
54
+     fclose($fp);
55
55
  return 0;
56
56
  }
57
57
  }

4

詳細変更

2021/01/01 05:49

投稿

ykkk
ykkk

スコア91

title CHANGED
File without changes
body CHANGED
@@ -10,6 +10,7 @@
10
10
  namespace App\Console\Commands;
11
11
 
12
12
  use Illuminate\Console\Command;
13
+ use Illuminate\Support\Facades\Storage;
13
14
 
14
15
  class Output extends Command
15
16
  {

3

詳細変更

2021/01/01 05:33

投稿

ykkk
ykkk

スコア91

title CHANGED
@@ -1,1 +1,1 @@
1
- コマンドプロンプトでlaravelを実行する(ファイル出力)
1
+ laravelのCommandでコマンドプロンプト実行時fopenできない
body CHANGED
@@ -1,9 +1,8 @@
1
1
  環境:Windows10,XAMPP,HeidiSQL
2
2
 
3
3
  laravelでcsvファイルを取込コマンドプロンプトで出力したい
4
- ロジックは出来たと思うのですが、出力対象のファイルをどこに
4
+ ロジックは出来たと思うのですが、fopenが上手くできません。
5
- 配置すればいいかわかりません。
6
- 現状、出力対象ファイルはapp/Console/Commandsに格納しております。
5
+ 現状、出力対象ファイルはstorage/app/publicに格納しております。
7
6
 
8
7
  ```ここに言語を入力
9
8
  <?php
@@ -45,7 +44,7 @@
45
44
  */
46
45
  public function handle()
47
46
  {
48
- $content = File::get('/app/Console/Commands/study01.csv');
47
+ $content = Storage::get('/public/study01.csv');
49
48
  $fp = fopen($content, 'r');
50
49
  while(($line = fgets($fp)) !== false){
51
50
  echo $line.php_EOL;
@@ -60,6 +59,41 @@
60
59
  コマンドプロンプトでphp artisan command:outputとたたくと
61
60
 
62
61
  現状エラー文
63
- Class 'App\Console\Commands\File' not found
62
+ ErrorException
64
63
 
64
+ fopen(2020/1/1,100
65
+ 2020/2/1,200
66
+ 2020/3/1,500
67
+ 2020/4/1,600
68
+ 2020/5/1,700
69
+ 2020/6/1,200
70
+ 2020/7/1,900
71
+ ): failed to open stream: No such file or directory
72
+
73
+ at C:\Users\USER\fusionsystem\app\Console\Commands\Output.php:43
74
+ 39| public function handle()
75
+ 40| {
76
+ 41|
77
+ 42| $content = Storage::get('/public/study01.csv');
78
+ > 43| $fp = fopen($content, 'r');
79
+ 44| while(($line = fgets($fp)) !== false){
80
+ 45| echo $line.php_EOL;
81
+ 46| echo "--------------\n";
82
+ 47| }
83
+
84
+ 1 C:\Users\USER\fusionsystem\app\Console\Commands\Output.php:43
85
+ fopen("2020/1/1,100
86
+ 2020/2/1,200
87
+ 2020/3/1,500
88
+ 2020/4/1,600
89
+ 2020/5/1,700
90
+ 2020/6/1,200
91
+ 2020/7/1,900
92
+ ", "r")
93
+
94
+ 2 C:\Users\USER\fusionsystem\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php:36
95
+ App\Console\Commands\Output::handle()
96
+
97
+ ファイルの中身はででいるのになぜエラーになってしまっているのでしょうか?
98
+
65
99
  以上、宜しくお願い致します。

2

詳細

2021/01/01 05:31

投稿

ykkk
ykkk

スコア91

title CHANGED
File without changes
body CHANGED
@@ -57,6 +57,7 @@
57
57
  }
58
58
 
59
59
  ```
60
+ コマンドプロンプトでphp artisan command:outputとたたくと
60
61
 
61
62
  現状エラー文
62
63
  Class 'App\Console\Commands\File' not found

1

ファイル格納場所変更

2021/01/01 04:28

投稿

ykkk
ykkk

スコア91

title CHANGED
File without changes
body CHANGED
@@ -3,7 +3,7 @@
3
3
  laravelでcsvファイルを取込コマンドプロンプトで出力したい
4
4
  ロジックは出来たと思うのですが、出力対象のファイルをどこに
5
5
  配置すればいいかわかりません。
6
- 現状、出力対象ファイルは/storage/app/publicに格納しております。
6
+ 現状、出力対象ファイルはapp/Console/Commandsに格納しております。
7
7
 
8
8
  ```ここに言語を入力
9
9
  <?php
@@ -45,7 +45,7 @@
45
45
  */
46
46
  public function handle()
47
47
  {
48
- $content = File::get('/storage/app/public/study01.csv');
48
+ $content = File::get('/app/Console/Commands/study01.csv');
49
49
  $fp = fopen($content, 'r');
50
50
  while(($line = fgets($fp)) !== false){
51
51
  echo $line.php_EOL;
@@ -59,6 +59,6 @@
59
59
  ```
60
60
 
61
61
  現状エラー文
62
- Command "output" is not defined.
62
+ Class 'App\Console\Commands\File' not found
63
63
 
64
64
  以上、宜しくお願い致します。