PHP ile nasıl sayfa algılamak için yönlendirme?

4 Cevap php

Bir resim, bir uzak sunucuda var olup olmadığını tespit etmek için çalışıyorum. Ancak, çeşitli yöntemler denedim ve çalışmak için bunlardan herhangi alınamıyor.

Şu anda ben bu kullanmaya çalışıyorum:

if (!CheckImageExists("http://img2.netcarshow.com/ABT-Audi_R8_2008_1024x768_wallpaper_01.jpg")) {
    print_r("DOES NOT EXIST");
} else {
    print_r("DOES EXIST");
};

function CheckImageExists($imgUrl) {
    if (fopen($imgUrl, "r")) {
        return true;
    } else {
        return false;
    };
};

Ama bu (yukarıdaki resim gerekir, ama uydurmaca olarak değiştirin ve hala 'gerçek' dönecektir) görüntü gerçekte var olup olmadığı 'gerçek' döndürür. Ben URL yoksa, bu sitenin ana sayfasına yönlendirir çünkü olabilecek bir his var. Ama bunu algılamak için nasıl bilmiyorum.

Herhangi bir yardım için teşekkür ederiz!

4 Cevap

Kullan cURL.

Kaynak getiriliyor sonra, hata kodunu arayarak alabilirsiniz curl_errno().

Şansını geri "404 bulunamadı görüntü" veya benzer bir şey içeren $ imgurl bir HTML sayfası almak vardır.

Sen isteği başarısız veya yeniden yönlendirilmiş olduğunu gösteren bir kod yanıtı kontrol etmek gerekir.

Bu (görüntü boyutunu kullanarak) hile yapmak gerekir:

if (!CheckImageExists("http://www.google.com/intl/en_ALL/images/srpr/logo1w.png")) {
    echo 'DOES NOT EXIST';
} else {
    echo 'DOES EXIST';
};

function CheckImageExists($imgUrl) {
    if (@GetImageSize($imgUrl)) {
        return true;
    } else {
        return false;
    };
};

Bu Seb'in yöntemi ile çalışan var. Sadece sayfanın gerçek içeriği incelemek ve bir hata veya değilse belirlemek için YQL kullanılır.