質問編集履歴

1

いただいたコメントを元に質問内容の追記修正をしました。

2020/01/04 04:46

投稿

Ryota.I
Ryota.I

スコア22

test CHANGED
File without changes
test CHANGED
@@ -267,3 +267,119 @@
267
267
  していただけると非常に助かります。
268
268
 
269
269
  お手数おかけしますが、どうぞご教示をお願いいたします。
270
+
271
+
272
+
273
+ **▼以下、2020/1/4 追記分です▼**
274
+
275
+ 1/3にいただいたコメントより、公式ドキュメント
276
+
277
+ (https://book.cakephp.org/3/ja/core-libraries/file-folder.html)を
278
+
279
+ 元に上記質問内容内"IcesController.php"の"//処理B"内を
280
+
281
+ 下記のように書き換え実行すると、"image_file"ディレクトリの直下にファイルが
282
+
283
+ 保存されることまでは確認ができました。
284
+
285
+ ただ、その"保存されるファイル"というのが、"size"が"0"となっており、
286
+
287
+ 画像ファイルとして閲覧することはできない状態で保存されています。
288
+
289
+
290
+
291
+ ---以下、書き換えた内容---
292
+
293
+ ▽IcesController.phpの処理B内
294
+
295
+ ```php
296
+
297
+ $time = Time::now('Asia/Tokyo'); //時刻をTokyoに指定し
298
+
299
+ $time = $time->i18nFormat('yyyyMMddHHmmss');//時間取得
300
+
301
+ $file = $this->request->getData('image_file'); //★A:ファイル情報取得
302
+
303
+ $file = new File(WWW_ROOT.'/files/Ices/image_file/'.$time.$file['name']);
304
+
305
+ $file->create();//★B:image_fileディレクトリへ新規ファイルとして画像ファイル作成 
306
+
307
+ ```
308
+
309
+
310
+
311
+ この書き換えた内容の★Aのすぐ下でdebug($file);をした場合、
312
+
313
+ sizeは投稿しようとするファイルの容量を表示しています
314
+
315
+ ```ここに言語を入力
316
+
317
+ [
318
+
319
+ 'tmp_name' => '/tmp/phplCeijU',
320
+
321
+ 'error' => (int) 0,
322
+
323
+ 'name' => 'DSC_0002.JPG',
324
+
325
+ 'type' => 'image/jpeg',
326
+
327
+ 'size' => (int) 170153
328
+
329
+ ]
330
+
331
+ ```
332
+
333
+ また、★Bの下でdebug($file);してみると下記のように表示されています。
334
+
335
+ ```ここに言語を入力
336
+
337
+ object(Cake\Filesystem\File) {
338
+
339
+ Folder => object(Cake\Filesystem\Folder) {
340
+
341
+ path => '/home/ec2-user/environment/my_pt_lesson/webroot/files/Ices/image_file'
342
+
343
+ sort => false
344
+
345
+ mode => (int) 493
346
+
347
+ [protected] _fsorts => [
348
+
349
+ 'name' => 'getPathname',
350
+
351
+ 'time' => 'getCTime'
352
+
353
+ ]
354
+
355
+ [protected] _messages => []
356
+
357
+ [protected] _errors => []
358
+
359
+ [protected] _directories => null
360
+
361
+ [protected] _files => null
362
+
363
+ }
364
+
365
+ name => '20200104130459DSC_0002.JPG'
366
+
367
+ info => []
368
+
369
+ handle => null
370
+
371
+ lock => null
372
+
373
+ path => '/home/ec2-user/environment/my_pt_lesson/webroot/files/Ices/image_file/20200104130459DSC_0002.JPG'
374
+
375
+ }
376
+
377
+ ```
378
+
379
+ 今の時点で容量も含めての保存処理が必要なことは検討がついているのですが、
380
+
381
+ どのように記述すればよいかというところで手詰まりな状態です。
382
+
383
+ 保存処理の方針に対しての過不足、上記記述内容のお気づきの点等ありましたら、
384
+
385
+ 改めてご教示いただけると幸いです。