İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

title cekmek?

emreba

0
İyinet Üyesi
Katılım
13 Mart 2008
Mesajlar
288
Reaction score
0
merhaba arkadaslar, pligg gibi bi script kodluyo fakat linki eklenen sitenin title'ni ceken kodun fail kismini yapamiyorum, yardim edebilecek olan var mi =/

Kod:
      $section = file_get_contents($url);
      $icerik='#<title>(.*?)</title>#si';
      preg_match($icerik,$section,$d_icerik);
      $titlesi = "$d_icerik[1]";

eger sitenin title'i yoksa veya oyle bi site yoksa eklenen url'nin title'i "Gecersiz Baslik" olacak sekilde nasil yapabilirim?
 
E

Erturk

Misafir
Şu anda yazdıgın bu kodlarla baslıgı cekebiliyormusun ?

bu bot mantıgından pek anlamıyorum ama basit bir kontrol yapısıyla cektiğin titlenin bos olup olmadıgını kontrol edebiliriz.

$section = file_get_contents($url);
$icerik='#<title>(.*?)</title>#si';
preg_match($icerik,$section,$d_icerik);
$titlesi = "$d_icerik[1]";
if (empty($titlesi)) {
$titlesi = "Gecersiz Baslik";
} else {
$titlesi= $d_icerik[1];
}

gelen degerın bos olup olmadıgını kontrol ettik. boşsa $titlesi degişkenıne "Gecersiz baslık" yazdırdık. Eger doluysa oldugu gibi kaldı.
 

emreba

0
İyinet Üyesi
Katılım
13 Mart 2008
Mesajlar
288
Reaction score
0
cok sagol Erturk oldu, fakat gecersiz bir url yada title'siz bir url girildigi zaman asagida ki hatayi veriyor

Warning: file_get_contents() [function.file-get-contents]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/public_html/linkekle.php on line 1236

Warning: file_get_contents(http://kdasjfkhjsadfhjlasdf.com) [function.file-get-contents]: failed to open stream: php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/public_html/linkekle.php on line 1236

line 1236
$section = file_get_contents($url);
 
E

Erturk

Misafir
Bu hata girdiğin url nin olmadıgını gosterıyor. Yanı demek istiyor ki "Olmayan bir url den bilgi cektirmeye calısıyorsun."

anladınmı dostum?
 

OsmanAtabey

0
İyinet Üyesi
Katılım
26 Mart 2005
Mesajlar
922
Reaction score
4
emreba Bu kodu küçültüp başka bir dosya içinde sadece title alan kısmını kullan ve hatanın nerede olduğunu bul bence.
 

emreba

0
İyinet Üyesi
Katılım
13 Mart 2008
Mesajlar
288
Reaction score
0
emreba Bu kodu küçültüp başka bir dosya içinde sadece title alan kısmını kullan ve hatanın nerede olduğunu bul bence.

kodda hata yok aslinda, caliyor tek sorun su

Kod:
$section = file_get_contents($url);

kodunda url'nin kesinlikle var olmasi lazim tek eklenmesi gereken sey "die" veya "fail" kodu
 

Ozcan

0
İyinet Üyesi
Katılım
12 Mayıs 2007
Mesajlar
3,749
Reaction score
59
Konum
Antalya
sanırım :) benim yazdığın kod. Bu şekilde kontrol edebilirsin.

PHP:
<?php

function site_is_up($site,$port=80,$timeout=1){
$port = $port === lisanssız ? 80 : $port;
$fp = @fsockopen(str_replace('http://','',$site), $port, $errno, $errstr, $timeout);
if($fp === false){
return false;
}
fclose($fp);
return true;
}
$url="http://kdasjfkhjsadfhjlasdf.com";

if(site_is_up($url)){
$section = file_get_contents($url);
$icerik='#<title>(.*?)</title>#si';
preg_match($icerik,$section,$d_icerik);
$titlesi = "$d_icerik[1]";
if (empty($titlesi)) {
$titlesi = "Gecersiz Baslik";
} else {
$titlesi= $d_icerik[1];
}
}else{
$titlesi = "Gecersiz Baslik";
}


	  echo $titlesi;
			?>
 

emreba

0
İyinet Üyesi
Katılım
13 Mart 2008
Mesajlar
288
Reaction score
0
gercekten cok guzel calisyor ozcan, cok tesekkurler :)
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst