2016-01-05 44 views
0

我已經通過phpMyAdmin將圖像和文本直接上傳到我的表格。但是,在顯示時,圖像顯示爲垃圾文本。可能是什麼問題?該圖像是一個相對較小的jpg文件。這裏是代碼:PHP-SQL:上傳的圖像顯示爲垃圾文本

<?php 
    require_once 'login.php'; 
    $conn = new mysqli($hn, $un, $pw, $db); 
    if($conn->connect_error) die($conn->connect_error); 
    $query = "SELECT * from classics"; 
    $result = $conn->query($query); 
    if(!$result) die($conn->error); 

    $rows = $result->num_rows; 

    for($j=0; $j < $rows; $j++) { 
     $result->data_seek($j); 
     $row=$result->fetch_array(MYSQLI_ASSOC); 
     echo 'Cover:' .$row['sleeve'] .'<br>'; 
    } 

    $result->close(); 
    $conn->close(); 
?> 
+0

'垃圾文本'是什麼?你可以添加嗎? – roullie

+0

沿着這些方向:封面: JIFIF >創作者:gd-jpeg v1.0(使用IJG JPEG v62),默認品質 C\t $。' 「,#(7),01444'9 = 82 <.342 C\t 2 !!2222222222222222222222222222222222222222222222222222 」 H!1AQ「aq2 #5BRs 3r$b %46t 'CTd 6!1A「Qaq23 4B #$ Rb ;J * Om*U ' RI G , __&&% ֕֕֕֕ g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g g | Y q –

+0

@ R34nimated:請解釋一下嗎?這是否意味着我不止一次上傳了相同的圖像? –

回答

2

像這樣的東西作爲你的迴音聲明「應該」與您當前的實施工作。

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

但是@Noor是正確的,像這樣存儲圖像效率不高。

+1

是的,這是有效的;雖然會採取上傳正確的方式提到 –

+0

@AgniScribe好的交易,你會標記爲正確的嗎? – R34nimated

2

你這樣做是錯誤的。不要將圖像保存在數據庫中,因爲這不是一種好的做法。只需將上傳的圖像保存在一個目錄中,並將該圖像的路徑保存到數據庫中即可。它會爲你節省一些數據庫空間和搜索時間。

下面是一些示例代碼

<?php 
$target_dir = "uploads/"; 
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); 
$uploadOk = 1; 
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); 
// Check if image file is a actual image or fake image 
if(isset($_POST["submit"])) { 
    $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]); 
    if($check !== false) { 
     echo "File is an image - " . $check["mime"] . "."; 
     $uploadOk = 1; 
    } else { 
     echo "File is not an image."; 
     $uploadOk = 0; 
    } 
} 
?> 

參考http://www.w3schools.com/php/php_file_upload.asp求助

+0

@ noor:但鑑於圖像現在已經在數據庫中,爲什麼它應該顯示爲垃圾;我的問題是顯示器。 –

+1

http://stackoverflow.com/questions/20556773/php-display-image-blob-from-mysql,因爲它編碼不正確。 – R34nimated

+0

謝謝,好吧,那麼如果我以正確的方式上傳它,它會顯示正確的方式與我使用的原始代碼?我也在嘗試...... –