質問編集履歴

2

createset.phpを変更

2019/10/22 12:45

投稿

Katsuma-F
Katsuma-F

スコア6

test CHANGED
File without changes
test CHANGED
@@ -417,3 +417,61 @@
417
417
  Undefined index: image in /Applications/MAMP/htdocs/Vinyl_App/createset.php on line 4
418
418
 
419
419
  と、出力されました。
420
+
421
+
422
+
423
+ -----
424
+
425
+ 最終的にこのコードになりました。
426
+
427
+
428
+
429
+ ```createset.php
430
+
431
+ <?php
432
+
433
+ if (!empty($_POST)) {
434
+
435
+ if ($_FILES['image'] !== '' && $_POST['title'] !== '' && $_POST['description'] !== '') {
436
+
437
+ $image = date('YmdHis') . $_FILES['image']['name'];
438
+
439
+ move_uploaded_file($_FILES['image']['tmp_name'], __DIR__ . '/card_image' . '/' . $image);
440
+
441
+ $card_image = $image;
442
+
443
+
444
+
445
+ // パーツセットの情報をデータベースに保存
446
+
447
+ $card = $db->prepare('INSERT INTO posts SET card_image=?, title=?, description=?, user_id=?, created_at=NOW()');
448
+
449
+ $card->execute(array(
450
+
451
+ $card_image,
452
+
453
+ $_POST['title'],
454
+
455
+ $_POST['description'],
456
+
457
+ $user['id']
458
+
459
+ ));
460
+
461
+
462
+
463
+ header('Location: mypage.php');
464
+
465
+ exit();
466
+
467
+ }
468
+
469
+ }
470
+
471
+
472
+
473
+ ?>
474
+
475
+
476
+
477
+ ```

1

createset.phpのコードを変更しました。

2019/10/22 12:45

投稿

Katsuma-F
Katsuma-F

スコア6

test CHANGED
File without changes
test CHANGED
@@ -331,3 +331,89 @@
331
331
 
332
332
 
333
333
  <img src="<?php ?>">この形に沿って、もしくはそれ以外の方法でもいいので画像を出力する正しい方法について、回答をお願いします。
334
+
335
+
336
+
337
+
338
+
339
+ ----
340
+
341
+ やはり、アクセス権を775, 777に変えて試しみましたが画像のアップロードができません。
342
+
343
+ 画像アップロードができない原因となっているコードを教えていただきたいです。
344
+
345
+
346
+
347
+ $_POST['image'] = $image を $_POST['card_image'] = $image に変えました。
348
+
349
+ ```createset.php
350
+
351
+ if (!empty($_POST)) {
352
+
353
+ if ($_POST['image'] !== '' && $_POST['title'] !== '' && $_POST['description'] !== '') {
354
+
355
+ $image = date('YmdHis') . $_FILES['image']['name'];
356
+
357
+ move_uploaded_file($_FILES['image']['tmp_name'], __DIR__ . 'card_image/' . $image);
358
+
359
+ $_POST['card_image'] = $image;
360
+
361
+
362
+
363
+ // パーツセットの情報をデータベースに保存
364
+
365
+ $card = $db->prepare('INSERT INTO posts SET card_image=?, title=?, description=?, user_id=?, created_at=NOW()');
366
+
367
+ $card->execute(array(
368
+
369
+ $_POST['card_image'],
370
+
371
+ $_POST['title'],
372
+
373
+ $_POST['description'],
374
+
375
+ $user['id']
376
+
377
+ ));
378
+
379
+
380
+
381
+ header('Location: mypage.php');
382
+
383
+ exit();
384
+
385
+ }
386
+
387
+ }
388
+
389
+
390
+
391
+ ?>
392
+
393
+ ```
394
+
395
+
396
+
397
+ createset.phpの先頭でこのコードを打つと、
398
+
399
+ ```createset.php
400
+
401
+ <?php
402
+
403
+ $uploaddir = __DIR__ . '/card_image' . '/';
404
+
405
+ $uploadfile = $uploaddir . basename(date('YmdHis') . $_FILES['image']['name']);
406
+
407
+ var_dump(move_uploaded_file($_FILES['image']['tmp_name'], $uploadfile));
408
+
409
+ ```
410
+
411
+
412
+
413
+
414
+
415
+ Undefined index: image in /Applications/MAMP/htdocs/Vinyl_App/createset.php on line 3
416
+
417
+ Undefined index: image in /Applications/MAMP/htdocs/Vinyl_App/createset.php on line 4
418
+
419
+ と、出力されました。