質問編集履歴
5
発生している問題のコードにシングルクオートを追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -36,7 +36,7 @@
|
|
36
36
|
// ファイル保存に必要な値を取得
|
37
37
|
define("DIR_RESPONSES", "/home/public_html/responses" );
|
38
38
|
$service_name = 'example'; // サービス名
|
39
|
-
$y = 2020; $m = 06;
|
39
|
+
$y = '2020'; $m = '06'; // 「年」「月」
|
40
40
|
$insert_id = 1; // データベースのレコードの主キー
|
41
41
|
$response = '[["a"=>1]]'; // 書き出す値
|
42
42
|
|
4
試したことにエラーを追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -49,8 +49,13 @@
|
|
49
49
|
```
|
50
50
|
|
51
51
|
###試したこと
|
52
|
-
以下のように「年」を作成し、次に「月」を作成という順に実行していったらできました。
|
52
|
+
以下のように「年」を作成し、次に「月」を作成という順に実行していったらできると思ったのですがそうでもなく次のエラーとなりました。
|
53
|
+
```
|
54
|
+
mkdir(): Permission denied
|
55
|
+
file_put_contents(/home/public_html/responses/example/2020/06/1.txt): failed to open stream: Permission denied
|
56
|
+
```
|
57
|
+
|
53
|
-
|
58
|
+
そもそもこのようにそれぞれを別に実行することを歯がゆく感じます。
|
54
59
|
```php
|
55
60
|
// ディレクトリ作成を実行 (「年」を作成し、次に「月」を作成 とそれぞれ別に実行しなければならない )
|
56
61
|
$upload_dir = DIR_RESPONSES . '/' . $service_name . '/' . $y;
|
3
最後の一文を訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -58,4 +58,4 @@
|
|
58
58
|
$upload_dir = DIR_RESPONSES . '/' . $service_name . '/' . $y . '/' . $m;
|
59
59
|
$added = my_add_dir( $upload_dir, 644 ); // 「月」を作成
|
60
60
|
```
|
61
|
-
もっとこう、一括で「ディレクトリがなければ作成」を繰り返し
|
61
|
+
もっとこう、一括で「ディレクトリがなければ作成」を繰り返したり、または「一気に2階層先まで作成」のような効率的に処理する方法はございませんでしょうか。
|
2
試したことのコードに「年」と「月」が抜けていたので追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -53,9 +53,9 @@
|
|
53
53
|
ですが、これを歯がゆく感じます。
|
54
54
|
```php
|
55
55
|
// ディレクトリ作成を実行 (「年」を作成し、次に「月」を作成 とそれぞれ別に実行しなければならない )
|
56
|
-
$upload_dir = DIR_RESPONSES . '/' . $service_name;
|
56
|
+
$upload_dir = DIR_RESPONSES . '/' . $service_name . '/' . $y;
|
57
|
-
$added = my_add_dir( $upload_dir, 644 );
|
57
|
+
$added = my_add_dir( $upload_dir, 644 ); // 「年」を作成
|
58
|
-
$upload_dir = DIR_RESPONSES . '/' . $service_name;
|
58
|
+
$upload_dir = DIR_RESPONSES . '/' . $service_name . '/' . $y . '/' . $m;
|
59
|
-
$added = my_add_dir( $upload_dir, 644 );
|
59
|
+
$added = my_add_dir( $upload_dir, 644 ); // 「月」を作成
|
60
60
|
```
|
61
61
|
もっとこう、一括で「ディレクトリがなければ作成」を繰り返して、効率的に処理する方法はございませんでしょうか。
|
1
発生している問題のコードが一行抜けていたので追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -42,6 +42,7 @@
|
|
42
42
|
|
43
43
|
// ディレクトリ作成を実行
|
44
44
|
$upload_dir = DIR_RESPONSES . '/' . $service_name . '/' . $y . '/' . $m;
|
45
|
+
$added = my_add_dir( $upload_dir, 644 ); // できない
|
45
46
|
|
46
47
|
// ファイル書き出しを実行
|
47
48
|
file_put_contents( $upload_dir . '/' . $insert_id . '.txt', $response);
|