Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

file_get_contents Açılmayan sayfaları tekrar denesin

maxcilopez

0
Onaylı Üye
Üye
Katılım
27 Ekim 2006
Mesajlar
545
Açılan Konu
114
Tepki puanı
0
Warning: file_get_contents(http://www.site.com) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 503 Service Unavailable in /home/birseyin/public_html/boray/8.php on line 25

Mrb arkadaşlar bu komutla bir siteden veri çekiyorum ama bazan açılmıyor ve db yede o yüzden boş veri yazıyor. Sayfa açılana kadar komutu çalıştırsın eğer açılmıyor ise en son işlemler bittiğinde açılmayan sayfaları tekrar densin bununla ilgili nasıl bir uygulama yaparız Kullanacağımız Komut nedir tşk...
 

CMYLMZ

0
Onaylı Üye
Üye
Katılım
8 Aralık 2006
Mesajlar
1,775
Açılan Konu
73
Tepki puanı
0
Konum
Forumdan ayrıld
mantık olarak eğer veri gelmemişse
if ($gelenVeri == "" ){
Sleep(5)
YenidenDene();
}

gibi bir örnekleme yapılabilir
 

Angelo

0
Onaylı Üye
Üye
Katılım
13 Aralık 2004
Mesajlar
9,603
Açılan Konu
164
Tepki puanı
106
Konum
AZ
PHP:
$res = "no";
unset($content);

  while ($res != "yes") {
  
  $content = file_get_contents($url);
  
     if ($content) {
     $res = "yes";
     }

     else {
     // sleep(2);   // requestler arası zaman vermek için commenti kaldır
    }
  }
 

CMYLMZ

0
Onaylı Üye
Üye
Katılım
8 Aralık 2006
Mesajlar
1,775
Açılan Konu
73
Tepki puanı
0
Konum
Forumdan ayrıld
PHP:
$res = "no";
unset($content);

  while ($res != "yes") {
  
  $content = file_get_contents($url);
  
     if ($content) {
     $res = "yes";
     }

     else {
     // sleep(2);   // requestler arası zaman vermek için commenti kaldır
    }
  }

Tamam çok iyi php bilmiyoruz ne yüzümüze vuruyorsun :D
 

tiva

0
Onaylı Üye
Üye
Katılım
20 Eylül 2003
Mesajlar
2,741
Açılan Konu
383
Tepki puanı
5
araya 2 komut açıklaması sıkıştıralım (inşallah yanlış açıklamam)

isset ile değişkenin içerisinde bir değer bulunup bulunmadığına bakarız, unset ile de mevcut değişkeni yok ederiz, gereksiz bellek kullanımını engellemekte faydalıdır.
 

Raiden

0
Onaylı Üye
Üye
Katılım
13 Ocak 2005
Mesajlar
339
Açılan Konu
23
Tepki puanı
0
PHP:
file_get_contents("http://site.com/index.php") or file_get_contents("http://site.com/index.php");

or kısmındn sonraki kısım false döndüğünde işleyecektir. yani açılmadığında hata aldığında. tekrar file_get_contents ile açmayı denicektir.
 

KaleSoft

0
Onaylı Üye
Üye
Katılım
17 Kasım 2006
Mesajlar
170
Açılan Konu
52
Tepki puanı
0
PHP:
file_get_contents("http://site.com/index.php") or file_get_contents("http://site.com/index.php");

or kısmındn sonraki kısım false döndüğünde işleyecektir. yani açılmadığında hata aldığında. tekrar file_get_contents ile açmayı denicektir.

cok bilmişlik olmasin ama bu kullanım biraz sakıncalı. php derleyicisi uyari üretir.


ben olsam soyle derdim.:
PHP:
$f=file_get_contents("http://site.com/index.php");
if (!$f) {
//2.deneme
  $f=file_get_contents("http://site.com/index.php");
}

if (!$f) {
//3.deneme
  $f=file_get_contents("http://site.com/index.php");
}

if ($f) {
   // $f var , yapilacak kodlar devam...
}
else {
  //dosya acilamadi.
}
 
Üst