Biz file_get_contents ile okunan verileri yankı nasıl

5 Cevap php

i uzaktan URL sayfası içeriğini kontrol etmek istiyorum. Uzak sitenin sayfa içeriği dize içeren IF http://yahoo.com set $ qqq = $ qqq = NOYH içeriyorsa değil YH eğer. i im url sayfa içeriği hakkında konuşurken "o sayfanın url" söz etmiyorum

$url = "'".$get['url']."'";
$needle = "http://yahoo.com/";
$contents = file_get_contents($url);
if(stripos($contents, $needle) !== false) {
    $qqq = "YH";
}

Ama çalışmıyor. Herkes doğru sözdizimi ile bana yardımcı olabilir misiniz? teşekkürler ..

5 Cevap

Bu kod çalışmaz düşünüyorum. Nedenlerle bir dizi için:

  1. İlk satırda, tek tırnak içeren bir dize oluşturmak. Yani temelde, $url gibi bir şey içerir 'http://url.here'. Eğer bu başarılı olursa file_get_contents Eğer bir hata alıyorum:

    $url = "'http://www.google.com'";
    echo file_get_contents($url);
    
    
    Warning: file_get_contents('http://www.google.com/'): failed to open stream: 
    No such file or directory in ...
    
  2. Sen $url, belirli bir dize içerip içermediğini kontrol etmek istediklerini söyledi. Ancak the document URL işaret, bu dize içeren olmadığını kontrol edilir.

3. Maybe you mean $_GET yerine $get parametresini url URL'ye yer alıyor? almak için bir

Tamam, ben size gerçekten content içinde dize aramak istediğiniz yorumlardan okuyun. Yine de, kod ilk satırı yanlış olduğunu, bu yüzden muhtemelen:

$needle = "http://yahoo.com/";
$contents = file_get_contents($get['url']);
if(stripos($contents, $needle) !== false) {
    $qqq = "YH";
}

(Olduğu gibi <?= $qqq ?> çalışmalıdır).

$url = $get['url'];
$needle = "http://yahoo.com/";
$contents = file_get_contents($url);
if(stripos($contents, $needle) !== false) {
  $qqq = "YH";
  echo $qqq; // <--in order to echo, you need to call echo.
}

Amacınız sadece yankı için ise eğer varsa YH, sadece doğrudan çağırabilirsiniz,

echo "YH";

Aksine bir değişken içine saklayarak daha.

Soru ve başlığı ile bazı karışıklık var gibi görünüyor.

"$ Url içeriyorsa http://yahoo.com/" sonra aşağıdaki yapacağız cevaplamak için:

$url = "'".$get['url']."'";
$needle = "http://yahoo.com/";
if(stripos($url, $needle) !== false) {
  $qqq = "YH";
}

Tabii ki, <?=$qqq?> çıkışına sonuç için kullanabilirsiniz.

Ayıklamak gerekir, bu yüzden adım adım yıkmak:

<?PHP
// make sure you see any errors (remove this later)
error_reporting(E_ALL);
ini_set('display_errors',1);

$url = $get['url'];
die($url);
?>

URL doğru mu?

<?PHP
// make sure you see any errors (remove this later)
error_reporting(E_ALL);
ini_set('display_errors',1);

$url = $get['url'];
die(file_get_contents($url));
?>

Script $ url yanıt benziyor yankı mı?

Sonra dışarı bina ve test etmeye devam ...

Tüm kodunuzu görmeden, burada kimse yanlış yaptığınızı tahmin etmek mümkün olacak, ama kendiniz için onu anlamaya için eğlenceli, kolay olacak ve öğretim gerekir.

Bu cevap doğru yönde kapalı gönderir umuyoruz.

Her zaman zaten error_reporting(E_ALL) bir geliştirme ortamı ayarlamak gerekir - PHP uyarıları olduğundan emin olun.

http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen - emin fopen tabanlı işlevler için parametre olarak URI'larını izin allow_url_fopen Yap