0

私はこのトピックに関するほとんどのスレッドを見てきましたが、私はまだ暗闇の中にいます! データベースに画像を保存することはベストプラクティスではないことは理解していますが、それは私が持っているものです。問題なく画像をアップロードできましたが、表示しようとするとこのメッセージが表示されます。

画像*はエラーが含まれているため表示できません。

ファイルの内容をエコーし​​てファイルが実際に選択されているかどうかを確認するためにコードをテストしました。画像に関連するコードのページを取得しましたが、ヘッダー (Content-type:image/jpeg) を使用して画像を表示しようとすると上記のメッセージが表示されます。画像をロングブロブとして保存しています。これは私のコードです

<?php
$username = "root";
$password = "";
$host = "localhost";
$database = "test";

mysql_connect($host, $username, $password)
    or die("Can not connect to database:   ".mysql_error());

mysql_select_db($database) or die("Can not select the database: ".mysql_error());

$id = 3;

if (!isset($id) || empty($id) || !is_int($id)) {
    die("Please select your image!");
} else {
    $query = mysql_query("SELECT image FROM images WHERE image_id='".$id."'")
        or die(mysql_error());
    //echo $query;
    $row = mysql_fetch_row($query);
    $content = $row['image'];

    header('Content-type: image/jpg');
    echo $content;
}    

どんな助けでも大歓迎ですありがとう#Sarita

4

2 に答える 2

1
  1. <?php不足している。これにより、コードが PHP として解釈されず、未処理のクライアントに送信されます。
  2. を削除し?>ます。意図しない余分な出力が発生する可能性があります。意図しない余分な出力は、テキスト ファイルでは許容される可能性がありますが、バイナリ ファイルのパーサーをトリップさせる可能性があります。
  3. エラーが含まれているために表示できない画像を テキスト エディターで開き、追加のエラーを表示します。
于 2013-08-11T08:40:37.747 に答える
0

MIME タイプは であってはなりimage/jpegませんimage/jpg

Unicode BOM (一部のエディターでは表示されない場合があります) を含め、最後に前後<?phpに何もないことを確認してください。?>

gpc_magic_quotes がオンになっている場合、バックスラッシュを追加してデータベースに画像を保存した可能性があります。データベース内の画像が正しくフォーマットされていることを確認してください。

于 2013-08-11T08:40:15.217 に答える