0

わかりました...これは、この問題を解決するための3回目の試みです。今回はもう少し明確に言いたいと思います。さまざまな画像を含むフォルダがあります。

フォルダ名は次のとおりです。'../wp-content/gallery/playerphotos/'

ファイル名は次のように渡されます。

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

一致するファイルがあれば、写真( ".jpg")を表示したいと思います。

ファイルが存在しない場合は、同じフォルダにあるデフォルトの写真を使用してください:'../wp-content/gallery/playerphotos/NoPhotoAvailable.jpg'

ご提案をお待ちしております。御時間ありがとうございます。

4

4 に答える 4

2

もっとトリッキーな解決策があります。file_exists()写真を提供するたびに (おそらく最小限の) オーバーヘッドを呼び出す代わりに、 PHP に写真の名前が存在するかのように出力させるだけです (例: とします../wp-content/gallery/playerphotos/Jack Sample.jpg)。playerphotos次に、ディレクトリの 404 ファイルを .htaccess に設定する小さな .htaccess ルール (Apache を使用している場合) を記述しますNoPhotoAvailable.jpg。Apache を使用していない場合は、おそらくサーバーに使用できる同様のルールがありますが、ここでの利点は、100% 移植可能ではありませんが、ファイルが存在するかどうかを確認するジョブを最適化されたプログラムに渡すことです。ファイルを提供します。Apache では、次のようなルールが必要です。

<Directory /path/to/www/wp-content/gallery/playerphotos>
    ErrorDocument 404 /wp-content/gallery/NoPhotoAvailable.jpg
</Directory>
于 2012-01-01T02:44:27.063 に答える
1

How about a little more tricky solution? :)

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

Then you just add an image tag

<img src="<?php echo $photoname; ?>" />
于 2012-01-01T01:02:40.360 に答える
1

次の PHP 関数を使用して、ファイル名 (この例では $photoname) が存在するかどうかを確認できます。

bool file_exists ( string $filename )

次のページのドキュメントを確認してください。

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

于 2012-01-01T00:48:11.433 に答える
0

ファイル名として 1 つの引数を取る PHP 関数 file_exists を使用したいと思うでしょう。

最初に、ファイルがサーバー上に存在するかどうかを確認する必要があります。そうでない場合は、写真名をデフォルト名に設定します。

if(!file_exists($photoname)) {
    $photoname = '../wp-content/gallery/playerphotos/NoPhotoAvailable.jpg';
}
于 2012-01-01T00:54:35.237 に答える