質問編集履歴
2
createset.phpを変更
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のコードを変更しました。
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
|
+
と、出力されました。
|