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

MysqlデータベースからHTMLの動的divへのBLOBイメージの表示

    1)Base64オプション

    image/pngという1行で作業します png画像とimage/jpegの場合 jpgの場合:

    echo '<img src="data:image/png;base64,'.base64_encode($blob).'"/>';
    

    例:

    <div style="background-color:black; text-align:center; padding: 5px;">
      <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAwBAMAAACh2TSJAAAALVBMVEUAAADtNTX////3n5/+9fX719f7zMz5tLTzfHzuQED//f31jY3ybGzxXV3wVFRaxp+rAAAAAXRSTlMAQObYZgAAALVJREFUOMut0rENAjEQRNHdC4kY0QBaAQUQX0QAFSAKIKQEKiAA6VqgIkriApuV1x7pQPz0aWwHljLMpZ0CRDBGoXmeghGYKFJsUo90giAImCgV5OJF+oOgKE48MlGgs2VLBIunWesw0a1ZHqF82c7GmmIfUSpgotOly29DFPFJFDEhkgIT/V5mZuvj6XofKrHU6vyI4u37IYi36aN4h5tL7PJyif1dvCgEpapzISbCTEj5R78BZq5A5Ldh2XYAAAAASUVORK5CYII">
    </div>

    2)専用ページ

    同じページに多くの全体像があるため、base64は適切な選択ではない可能性があります

    Base64はかっこいいですが、少し重い (通常、バイナリの約2倍 値がエンコードされています)およびキャッシュできません ページ自体ではなく、ページの一部であるため、ブラウザによって(画像のように)

    この場合、特定のphpページを使用して画像を表示するのが最善です:

    メインページでは、base 64の代わりに使用します:echo '<img src="image.php?id='.$id.'"/>'; 画像が必要な行のIDを使用します。

    image.phpで 、基本的にはこれを使用する必要があります:

    // << include the $pdo here
    $query = $pdo->prepare("SELECT `content` FROM `adsubm` WHERE `id` = :id" );
    $query->execute(array(':id'=>$_GET['id']));
    $data = $query->fetch();
    
    if(empty($data)))
        header("HTTP/1.0 404 Not Found");
    else {
        header('Content-type: image/jpeg');
        echo $data['content'];
    }
    



    1. SQL Server(T-SQL)の日付からISO週番号を返す

    2. PHPを使用してmysqlテーブルを.txtまたは.docファイルにエクスポートする

    3. .SQLファイルを使用してMySQLデータベースを作成する

    4. 2つのテーブルを新しいテーブルに結合して、他のテーブルから選択した行が無視されるようにします