

PHPでデータベースに画像を挿入するやり方がいまいちわかりません。  
イメージでは

  * イメージ要素に画像のディレクトリを変数で入れる。
  * 画像のディレクトリはデータベースで管理する。

らしいのですが、どのように行えばいいかわかりません。

一応このような処理は作成したのですが、上手く動きません。  
お手数をおかけしますがご教授お願い致します。

[code]

    if ($_FILES['new_img']['error'] === UPLOAD_ERR_OK) {
    
                if (count($err_msg) === 0) {
    
                    $chk_picture = getimagesize($_FILES['new_img']['tmp_name']);
    
                    if ($chk_picture['mime'] === 'image/png' || $chk_picture['mime'] === 'image/jpeg') {
    
                        if ($chk_picture[0] <= 500 && ($chk_picture[1] <= 500)) {
    
                            $mime = $chk_picture['mime'];
                            switch ($mime) {
                                case 'image/png':
                                    $type = '.png';
                                    break;
                                case 'image/jpeg':
                                    $type = '.jpg';
                                    break;
                            }
    
                            $upload = $uploaddir . date('YmdHis') . rand(0, 10000) . $type;
                            
                            move_uploaded_file($_FILES['new_img']['tmp_name'], $upload);
                        } else {
                            $err_msg[] = 'ファイルは縦と横500px以内にしてください';
                        }
                    } else {
                        $err_msg[] = 'PNGかJPEG形式のファイルをアップロードしてください';
                    }
                }
            } else {
                $err_msg[] = 'ファイルを選択してください';
            }
    
[/code]


CC BY-SA 4.0
2021-11-18T06:07:27.463
83693
2021-11-18T07:09:52.687
2021-11-18T07:09:52.687
3060
48303
question
php
PHPでデータベースに画像を挿入するやり方


言葉の通りだと思います。  
画像を挿入するのではなくアップロードしたディレクトリパスを文字列としてデータベースに保存することになります。

例えば、test.jpgを受け取って

[code]

    https://example.com/upload/test.jpg
    
[/code]

に保存したとします。

そしてデータベースに保存する内容は

[code]

    https://example.com/upload/test.jpg
    
[/code]

だったり

[code]

    upload/test.jpg
    
[/code]

だったり

[code]

    test.jpg
    
[/code]

の文字列をデータベースに保存します。それは要件に合わせてご自身で決めてください。

そして画像をHTML上に表示したいときは

[code]

    <img src="<?php echo $img_url ※img_urlにはDBからとってきたデータが入っている想定?>">
    
[/code]

のように表示します。


CC BY-SA 4.0
2021-11-18T06:17:09.540
83694
2021-11-18T06:17:09.540
22665
83693
answer