sql >> データベース >  >> RDS >> Mysql

テーブルから画像データを取得して画像を表示できません

    まず、出力file_get_contentsから画像を保存する必要があります データベースに。そして、それをimagecreatefromstringに入れます 画像を表示します。

    これが簡単な例です。多分これはあなたを助けるでしょう:)

    $data = file_get_contents("ACL.jpg");
    $img = imagecreatefromstring($data);
    header("Content-Type: image/jpeg");
    imagejpeg($img);
    

    編集:

    このコードを入れるだけです:

    $statement->bind_result($imageid, $title, $image)
    while ($statement->fetch()) {
        if ($image == NULL) {
            echo "Image data does not exist!";
        } else {
            $img = imagecreatefromstring($image);
            header("Content-Type: image/jpeg");
            imagejpeg($img);
        }
    
    }
    

    編集修正:

    uploads.php

    このファイルでは、$statement->bind_param('sb', $title, $content);を変更する必要があります。 $statement->bind_param('ss', $title, $content);になります

    if (isset($_POST['submit'])) {
        $title = $_FILES['image']['name'];
        $data = $_FILES['image']['tmp_name'];
        $content = file_get_contents($data);
        $query = "INSERT INTO images (title, image) VALUES (?, ?)";
        $statement = $databaseConnection->prepare($query);
        $statement->bind_param('ss', $title, $content);
        $statement->execute();
        $statement->store_result();
        $creationWasSuccessful = $statement->affected_rows == 1 ? true : false;
        if ($creationWasSuccessful)
        {
            echo "Works!";
        } else {
            echo 'failed';
        }
    }
    

    showimage.php 次に、これを使用して表示します:

    $img = imagecreatefromstring($image); header("Content-Type: image/jpeg"); imagejpeg($img); 最後のステートメントで

    if (isset($_GET['id'])) {
    
        $id = $_GET['id'];
        $query = "SELECT id,title,image FROM images WHERE id = ?";
        $statement = $databaseConnection->prepare($query);
        $statement->bind_param('i', $id);
    
        $statement->execute();
        $statement->store_result();
    
        if ($statement->num_rows >= 1)
        {
            $statement->bind_result($imageid, $title, $image)
            while ($statement->fetch()) {
                if ($image == NULL) {
                    echo "Image data does not exist!";
                } else {
                    $img = imagecreatefromstring($image);
                    header("Content-Type: image/jpeg");
                    imagejpeg($img);
                }
    
            }        
        }
    }
    

    これもうまくいくことを願っています、私はそれをテストしました、そしてそれはうまく動きます... :)




    1. n番目の要素regexpを取得するOracleSQL

    2. 特定のユーザーMySQLについて、同じテーブル内で重複する日付範囲を検索する

    3. SQL Server 2008は、新しく作成されたユーザーでログインできません

    4. mysqlクエリで関数を使用するにはどうすればよいですか?