2015-10-20 216 views
4

當前用戶可以將圖像上傳到我的網站,圖像的位置存儲在MySQL表中。破碎圖像鏈接的圖像佔位符?

當我打電話與選擇功能的圖像,它們通過CSS樣式背景圖像加載:網址(「image.jpg文件」)

目前我使用的是放置一個佔位符的IF語句圖像替換列「Image_URL」設置爲NULL的任何行。

if ($row["Image"] != "") {     
        echo "<td width='200' rowspan='3'><center><a href='/uploads/".$row["Image"]."' target='_blank'><div class='image-cropper'><div class='rounded' style='background-image:url(\"/uploads/".$row["Image"]."\")'>"; 
       } else { 
        echo "<td width='200' rowspan='3'><center><a><div class='image-cropper'><div class='rounded' style='background-image:url(\"/images/no-image.jpg\")'"; 
       } 

我的方法,但是,錯誤的鏈接無法正常工作(其中原始圖像已經被刪除,或者出於某種原因,鏈接是錯誤的。)這只是表明空白,我能明白爲什麼,因爲$ row [「Image」]!= NULL,那裏有一個鏈接,它只是沒有鏈接到圖像。

有沒有方法來加載我的佔位符圖片no-image.jpg當沒有圖像被發現在提供的鏈接?

我的DIV僅僅是讓我的圖像呈現圓形和居中,所以我在這裏發佈它們以防萬一它有幫助,您可以幫助我調整這些類以添加佔位符功能。

.image-cropper { 
    max-width: 150px; 
    height: auto; 
    position: relative; 
    overflow: hidden; 
} 
.rounded { 
    display: block; 
    margin: 0 auto; 
    height: 150px; 
    width: 150px; 
    -webkit-border-radius: 50%; 
    -moz-border-radius: 50%; 
    -ms-border-radius: 50%; 
    -o-border-radius: 50%; 
    border-radius: 50%; 
    background:center no-repeat; 
    background-size:cover; 
} 

的圖像農作物和圓潤DIV其實都是從這個網站,所以謝謝Hiral

+0

你能告訴你的圖片格式是什麼?他們都是「JPG」嗎?或者他們可以不同? – Sina

+0

嗨新浪,他們可以不同,我設置上傳表單只允許JPG,GIF和PNG文件。 – radiocaf

回答

0

您可以使用​​3210功能找出文件是否存在。

東西沿着這些路線:

if ($row["Image"] != "") { 
    var $file = glob("/uploads/".$row["Image"]); 
    if (count($file) > 0) { 
    echo "<td width='200' rowspan='3'><center><a href='/uploads/".$row["Image"]."' target='_blank'><div class='image-cropper'><div class='rounded' style='background-image:url(\"/uploads/".$row["Image"]."\")'>"; 
    } else { 
    echo "<td width='200' rowspan='3'><center><a><div class='image-cropper'><div class='rounded' style='background-image:url(\"/images/no-image.jpg\")'"; 
    } 
} else { 
    echo "<td width='200' rowspan='3'><center><a><div class='image-cropper'><div class='rounded' style='background-image:url(\"/images/no-image.jpg\")'"; 
} 
1

我設法得到它都有點吃力使用glob後使用file_exists工作。

但是,非常感謝Stewartside讓我走上了正確的道路,並且也構建了結果if聲明。

這是現在的代碼:

$image = $row["Image"]; 
if ($row["Image"] != "") { 
    if (file_exists('uploads/'.$image)) {    
     echo "<td width='200' rowspan='3'><center><a href='/uploads/".$row["Image"]."' target='_blank'><div class='image-cropper'><div class='rounded' style='background-image:url(\"/uploads/".$row["Image"]; 
    } else { 
     echo "<td width='200' rowspan='3'><center><a><div class='image-cropper'><div class='rounded' style='background-image:url(\"/images/no-image.jpg"; 
    } 
    } else { 
     echo "<td width='200' rowspan='3'><center><a><div class='image-cropper'><div class='rounded' style='background-image:url(\"/images/no-image.jpg"; 
} 

我假設以下也將工作:

if (file_exists('uploads/'.$row["Image"])) {  

謝謝您的幫助大家! :)