0

ページ上の特定の単語をスキャンして強調表示し、AJAX と PHP を使用して、ユーザーがその単語の上にカーソルを置いたときに表示されるツールヒントにコンテンツをエコー バックするブラウザ拡張機能 (コンテンツ スクリプト) を開発しています。PHPファイルからエコーバックされるものの1つは画像ですが、私の問題は、すべてのキーワードの画像がないことです-私が望むのは、特定のURLに画像が存在する場合にのみPHPが画像をエコーバックすることです。現在、特定の単語には画像が表示され、他の単語には「画像が見つかりません」アイコンが表示されます。私が欲しいのは、画像が存在しない場合、「画像が見つかりません」アイコンがないことです。

AJAX に変数 ($data) を Web サイトでホストされている PHP ファイルに送信させます。たぶん、エコーする前にURLのHTTPヘッダーをチェックしてもらいますか?

これが私のコードです:

$data = $_POST['id'];

echo "http://extension.nicholasrub.in/headshots/" . $データ . ".png'>";

4

4 に答える 4

0

サーバーに存在しない画像を確認したい場合は、次のコードを使用します。

$data = $_POST['id'];
$imagePath = "http://extension.nicholasrub.in/headshots/$data.png";
echo "http://extension.nicholasrub.in/headshots/".(file_get_contents(imagePath) ? $data : 'notFound').".png'>"
于 2013-10-19T23:32:26.030 に答える
0

HTTPヘッダーが404かどうかを確認することで、問題を解決しました。

私のコード:

$file = "http://extension.nicholasrub.in/headshots/" . $data . ".png";

$file_headers = @get_headers($file);

if($file_headers[0] == 'HTTP/1.1 404 Not Found') {
    $exists = false;
}
else {
    $exists = true;
}

if ($exists == true) {
    echo "<div id='my-tooltip-2986234'><div><img src='http://extension.nicholasrub.in/headshots/" . $data . ".png'>";
}
else {
    echo "<div id='my-tooltip-2986234'><div>";
}
于 2013-10-19T23:52:59.053 に答える