2012-01-01 76 views
0

好的......這是我第三次嘗試解決這個問題。希望我這次更清楚一點。我有一個文件夾包含各種不同的圖像。如何在網頁上顯示圖片?如果圖片存在...其他使用「默認圖片」?

文件夾名稱是:「../wp-content/gallery/playerphotos/」

的文件名是通過爲傳遞:

$photoname = $row['First_Name'] . " " . $row['Last_Name']; 

如果匹配的文件存在,我想顯示照片(「.jpg」)。

如果文件不存在,則使用默認的照片在同一文件夾: 「../wp-content/gallery/playerphotos/NoPhotoAvailable.jpg」

我期待着聽到您的建議。謝謝你的時間。

+0

您可以使用「file_exists」功能http://php.net/manual/en/function.file-exists.php – leopic 2012-01-01 00:46:47

回答

1

您可以使用下面的PHP函數來檢查文件名(在你的榜樣,$ photoname)存在:

bool file_exists (string $filename) 

退房下頁的文檔:

http://www.php.net/manual/en/function.file-exists.php

+0

我終於弄明白了問題它與我正在使用的路徑有關。我需要定義絕對路徑: $ absolutepath = $ _SERVER {'DOCUMENT_ROOT'}。'wp-content/gallery/playerphotos /'。 $ photoname。名爲.jpg; file_exists函數現在可以正常工作。 ;) – DoubleA 2012-01-06 01:32:20

0

您將要使用帶有一個參數作爲文件名的PHP函數file_exists。

您將首先檢查文件是否存在於服務器上。如果不存在,則將photoname設置爲默認名稱。

if(!file_exists($photoname)) { 
    $photoname = '../wp-content/gallery/playerphotos/NoPhotoAvailable.jpg'; 
} 
1

怎麼樣一個更棘手的解決方案? :)

$photoname = (file_exists($row['First_Name']." ".$row['Last_Name']))?($row['First_Name']." ".$row['Last_Name']):("../wp-content/gallery/playerphotos/NoPhotoAvailable.jpg") 

然後你只需要添加一個圖像標籤

<img src="<?php echo $photoname; ?>" /> 
+0

我終於找出問題它與我正在使用的路徑有關。我需要定義一個絕對路徑:$ absolutepath = $ _SERVER {'DOCUMENT_ROOT'}。'wp-content/gallery/playerphotos /'。 $ photoname。名爲.jpg; file_exists函數現在可以正常工作。 ;) – DoubleA 2012-01-06 01:32:41

2

我有一個棘手的解決方案。每次您想要提供照片時,您都可以使用PHP輸出照片名稱(比如說:../wp-content/gallery/playerphotos/Jack Sample.jpg),而不必每次調用file_exists()(可能最小)的開銷。然後編寫一個.htaccess規則(如果您使用的是Apache),將playerphotos目錄的404文件設置爲NoPhotoAvailable.jpg。如果你沒有使用Apache,可能有類似的規則可以用於你的服務器,但是這裏的好處是,雖然它不是100%可移植的,但它將檢查文件是否存在於已優化的程序中提供文件。與Apache你需要這樣一個規則:

<Directory /path/to/www/wp-content/gallery/playerphotos> 
    ErrorDocument 404 /wp-content/gallery/NoPhotoAvailable.jpg 
</Directory> 
相關問題