0

サーバー内のリンクやフォルダーではなく、バイナリで mysql データベーステーブルに画像をアップロードする方法について、オンラインでいくつかの例を見つけました。

印刷しようとすると画像が表示されない

データベーステーブルを確認すると、奇妙な形式のデータがたくさん表示されます。画像データを想定しています

ここにコードがあります

if(!empty($_FILES['image']) && $_FILES['image']['size'] > 0 && !empty($_POST['name']))
{
    // Temporary file name stored on the server
       $tmpName = $_FILES['image']['tmp_name'];

// Read the file
$fp = fopen($tmpName, 'r');
$data = fread($fp, filesize($tmpName));
$data = addslashes($data);
fclose($fp);

画像を表示するコード

$sql = "SELECT * FROM `photos` WHERE userName = '$currentUser'";
    $result = mysqli_query($con,$sql);
    while($row = mysqli_fetch_array($result)) 
    {
        $content = $row['image'];
        echo $content;
        echo '<p id="caption">'.$row['caption'].' </p>';
    }

画像を表示しようとすると、出力として何も得られません。パテを介してデータベースをチェックすると、大量の奇妙な文字が表示されます。画像のアイテムを想定しています。

アイデア?

4

1 に答える 1

2

最終的に、次の2行を置き換えることができます
$content = $row['image']; echo $content;

echo '<img src="data:image/jpeg;base64,' . base64_encode( $row['image'] ) . '" />';

于 2013-03-12T21:58:47.680 に答える