2013-07-02 77 views
0

我用下面的代碼來上傳圖片。它運作良好。但我不知道如何在顯示頁面中顯示所有圖像。如何在php中從數據庫中顯示多個圖像?

請幫忙查看代碼。

<?php 
if(isset($_FILES['files'])){ 
    $errors= array(); 
foreach($_FILES['files']['tmp_name'] as $key => $tmp_name){ 
    $file_name = $key.$_FILES['files']['name'][$key]; 
    $file_size =$_FILES['files']['size'][$key]; 
    $file_tmp =$_FILES['files']['tmp_name'][$key]; 
    $file_type=$_FILES['files']['type'][$key]; 
    if($file_size > 2097152){ 
     $errors[]='File size must be less than 2 MB'; 
    }  
    $query="INSERT into upload_data (`USER_ID`,`FILE_NAME`,`FILE_SIZE`,`FILE_TYPE`) 
      VALUES('$user_id','$file_name','$file_size','$file_type'); "; 

    $desired_dir="gallery"; 
    if(empty($errors)==true){ 
     if(is_dir($desired_dir)==false){ 
      mkdir("$desired_dir", 0700);  // Create directory if it does not exist 
     } 
     if(is_dir("$desired_dir/".$file_name)==false){ 
      move_uploaded_file($file_tmp,"gallery/".$file_name); 
     }else{         //rename the file if another one exist 
      $new_dir="gallery/".$file_name.time(); 
      rename($file_tmp,$new_dir) ;    
     } 
     mysql_query($query) or die(mysql_error());   
    }else{ 
      print_r($errors); 
    } 
} 
if(empty($error)){ 
    echo "Success"; 
} 
} 
?> 
+2

之前你寫*任何*更多的SQL代碼,您必須在[正確的SQL讀了逃逸](http://bobby-tables.com/php),以避免嚴重的[SQL轉義錯誤](http://bobby-tables.com/)。你**不能**使用字符串插值來組成查詢。使用'mysql_query'也是一個壞主意,因爲它已被棄用,並且將從未來版本的PHP中刪除。像[PDO這樣的現代化替代品並不難學](http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/)。 – tadman

回答

5

您可以顯示圖片是這樣的:

$sql="select * from tbl_image"; 
$query=mysql_query($sql); 
while($row=mysql_fetch_array($query)) 
{ 
$image=$row ['photo']; 

echo '<img src="path/'.$image.'" width="360" height="150">'; 

} 
+0

怎麼了所有的錯誤抑制?調試很糟糕 – Eric

+0

您編輯代碼的事實並不意味着太多。是否有一個原因背後,你甚至用'@'符號來壓制變量聲明?你知道它的目的嗎? – Twisted1919

+0

是的,我知道它的目的。它暫時將該行的錯誤報告級別設置爲0。如果該行觸發錯誤,錯誤處理程序仍將被調用,但會調用錯誤級別爲0. 我有時在測試某些腳本時使用它,但最好不要以這種方式顯示它。你們是對的。 – Matheno

1

試試這個:

$result= //select query for retrieving filenames for a particular userid 
     //or all depending upon your requirement. 

while($row=mysql_fetch_array($result)) 
{ 
echo "<div><img src=\"gallery/".$row['filename']."\" /></div>" 
} 
+0

它的工作。謝謝... –