所以我想我永遠也不會得到答案哈哈...無法顯示圖像,因爲它包含錯誤警告
老問題,請閱讀編輯
我想顯示圖片上傳到一個MySQL數據庫後。
但是通過嘗試打開圖片火狐顯示以下警告:
無法顯示圖像,因爲它包含錯誤
我已經被好幾個小時,現在搜索,因爲它的谷歌但我真的無法找到解決這個問題。所以,現在你們是我非常最後的希望:)
這裏是PHP:
<?php
session_start();
$con = mysql_connect("localhost", "...", "...");
mysql_select_db('...',$con);
$id = $_GET['id'];
$result = mysql_query("SELECT image, mime FROM artikel WHERE id='$id'");
$row = mysql_fetch_object($result);
header("Content-type: $row->mime");
echo $row->image;
?>
編輯 我認爲錯誤是在insert.php .. 可能有人請看看在它並告訴我可能會有什麼錯誤?謝謝:)(我認爲圖像不正確上傳)
<?php
session_start();
header('content-type: text/html; charset=utf-8');
$uname = $_POST['username'];
$typ = $_POST['typ'];
$titel = $_POST['titel'];
$content = $_POST['content'];
$timestamp = time();
$db = new mysqli("localhost", "...", "...", "...");
if($db->connect_errno > 0){
die("Unable to connect to database: " . $db->connect_error);
}
if(is_uploaded_file($_FILES['image']['tmp_name'])) {
// Verweis auf Bild
$image = $_FILES['image']['tmp_name'];
// Vorbereiten für den Upload in DB
$data = addslashes(file_get_contents($image));
// Metadaten auslesen
$meta = getimagesize($image);
$mime = $meta['mime'];
}
//create a prepared statement
$stmt = $db->set_charset("utf8");
$stmt = $db->prepare("INSERT INTO artikel (`red`, `typ`, `titel`, `content`, `image`, `mime`, `timestamp`) VALUES (?,?,?,?,?,?,?)");
//bind the username and message
$stmt->bind_param('sssssss', $uname, $typ, $titel, $content, $data, $mime, $timestamp);
//run the query to insert the row
$stmt->execute();
header("Location: erfolg.php");
?>
您是否嘗試在註釋中設置'header'?這樣你會看到腳本拋出的任何警告/錯誤。在將腳本強制爲圖像之前,請確保沒有警告和錯誤 – DarkBee 2015-03-08 19:23:18
您確定從中獲取圖像的表稱爲'artikel'嗎? – l0lander 2015-03-08 19:23:36
@ l0lander是的,我是:)這是文章的德語含義。 – 2015-03-08 19:24:30