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

mySQLブロブ画像のプリントアウト?

    ここには基本的に2つの問題があります:

    1. $thumbとして 画像のバイナリデータが含まれている場合、画像がどのデータであるかをブラウザに通知しない限り、ブラウザは画像を理解しません(例:image/jpg

    2. データがどこにあるかをブラウザに伝える必要があります。

    そのページに親指を表示する画像を作成するとします:

    <td><img src="..." alt="thumb"></td>
    

    src 属性は、画像のデータを見つけることができる場所をブラウザに指示します。したがって、問題2を解決するために使用されます。 UnicodeResourceLocatorが必要です。 (URI)。

    では、$thumbを取得する方法 URIに?これを行うには、コメントにリンク

    ただし、画像がそれほど大きくなく、特にキャッシュする必要がない場合(たとえば、HTMLはキャッシュする必要がありますが、親指の画像はキャッシュしない必要があります)、 data: URIスキーム

    $thumbSrc = 'data:image/jpg;base64,'.base64_encode($thumb);
    

    次に、その変数をsrcとして出力できます。 属性の値:

    <td><img src="<?php echo $thumbSrc; ?>" alt="thumb"></td>   
    

    これがお役に立てば幸いです。

    完全な答え:

    echo "<table>";
        echo "<tr class ='tablehead'><td>Name</td><td>Location</td><td>Review</td><td>Image</td><td>Thumb</td></tr>";
        while ($row = mysql_fetch_array($query))
        {   
            echo "<tr>";
                echo "<td>" . $row['user_fname'] . "</td>";
                echo "<td>" . $row['user_location'] . "</td>";
                echo "<td>" . $row['user_review'] . "</td>";                    
                echo '<td><img src="data:image/jpg;base64,', base64_encode($row['user_thumb']), '" alt='thumb'></td>'; 
                echo '<td><img src="data:image/jpg;base64,', base64_encode($row['user_image']), '" alt='image'></td>';
            echo "</tr>";
        }
    echo "</table>";
    


    1. このクエリでカウント値が0の行も返すようにするにはどうすればよいですか?

    2. MySQLトリガーは、トリガーが割り当てられている同じテーブルの行を更新できません。推奨される回避策は?

    3. MySQLのutf8mb4とutf8文字セットの違いは何ですか?

    4. Laravel5.1の別のテーブルに存在しない1つのテーブルからすべてのレコードを選択します