Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

delirten bot hatası

merhaba arkadaşlar sinemalar.com'dan url ye göre film bilgilerini aşağıdaki kod ile çekiyorum.


$url = 'http://www.sinemalar.com/film/76285/the-woman-in-the-fifth';
$cek = @file_get_contents($url);

// imdb puanı bulalım
preg_match('#<div class="p20 turuncu bold">(.*?)</div>#s',$cek,$imdb);
$puani = $imdb[1];

// Vizyon Tarihini Alalım
preg_match('#<div class="w141 full_rounded_3px bold pd_7 mgt_5 gri kapsa hover_border_color ortala_text p16">(.*?)</div>#s',$cek,$vtarih);
$vizyon_tarihi = $vtarih[1];

// Film Adını Alalım
preg_match('#<h1 class="film_adi sol">(.*?)</h1>#s',$cek,$filmAdi);
$film_adi = $filmAdi[1];

// Film Fragmanı
preg_match('#<div class="mgl_m10" id="trailerWatch" style="margin-bottom:15px;">(.*?)</div>#s',$cek,$fragman);
$film_fragmani = $fragman[1];

// Filmin Özeti
preg_match('#<p class="c333">(.*?)</p>#s',$cek,$ozet);
$filmin_ozeti = $ozet[1];




bu kod bazı filmin bilgilerini alıyor bazılarınkinide almıyor

hata kodu şu : Notice: Undefined offset: 1

örnek $ozet[1];

şeklinde yapıyorum 1 yapmadığım zamanda array diyor sadece çekmiyor. bazılarında oluyor bazılarında olmuyor.

bunu nasıl çözebilirim acaba ? şimdiden teşekkürler.
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Cevaplar

  • xuma adlı üyenin fotoğrafı
    11 yıl önce yazılmış
    171 cevap - 1 soru
    $filmin_ozeti = is_array($ozet) ? $ozet[1] : $ozet;
    
  • gray59 adlı üyenin fotoğrafı
    11 yıl önce yazılmış
    2 cevap - 20 soru
    $gelen = @$_POST["glink"];
    $url = $gelen;
    $cek = @file_get_contents($url);
    
    
    
    
    
    // imdb puanı bulalım
    preg_match('#<div class="p20 turuncu bold">(.*?)</div>#s',$cek,$imdb);
    $im = is_array($imdb) ? $imdb[1] : $imdb;
    
    // Vizyon Tarihini Alalım
    preg_match('#<div class="w141 full_rounded_3px bold pd_7 mgt_5 gri kapsa hover_border_color ortala_text p16">(.*?)</div>#s',$cek,$vtarihi);
    $vizyon_tarihi = is_array($vtarihi) ? $vtarihi[1] : $vtarihi;
    
    // Film Adını Alalım
    preg_match('#<h1 class="film_adi sol">(.*?)</h1>#s',$cek,$filmAdi);
    $film_adi = is_array($filmAdi) ? $filmAdi[1] : $filmAdi;
    
    
    // Film Fragmanı
    preg_match('#<div class="mgl_m10" id="trailerWatch" style="margin-bottom:15px;">(.*?)</div>#s',$cek,$frag);
    $filmin_fragmani = is_array($frag) ? $frag[1] : $frag;
    
    // Filmin Özeti
    preg_match('#<p class="c333">(.*?)</p>#s',$cek,$ozett);
    $ozetim = is_array($ozett) ? $ozett[1] : $ozett;
    
    
    // Filme Ait Resimi Çekelim
    function generatepassword($plength) { 
    if(!is_numeric($plength) || $plength <= 0) {  // Fonksiyona verilen sayının numara olup olmadığını kontorl ediyoruz. Ardından 0 a eşit mi veya 0 dan küçükmü diye baktırıyoruz. Eğer iki işlem den biri var ise, Sayıyı otomatik 8 e eşitliyoruz.
          $plength = 8; 
       }  
       if($plength > 32) { // Eğer sayı 32 den büyük ise, Sayıyı 32 ye eştiliyoruz.
          $plength = 32; 
       } 
       $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; // Oluşturulacak şifrenin karakterlerini vs. Değişkene atıyoruz. 
       mt_srand(microtime() * 1000000); // Zamanı 1000000 ile Çarpıyoruz.
       for($i = 0; $i < $plength; $i++) { // $i 0 a eşitliyoruz ve $i küçük ise Verilen şifre karakterinden, $i arttırıyoruz.
          $key = mt_rand(0,strlen($chars)-1); // mt_rand ile 0 ile Şifrede kullanılacak karakterlerin sayısının -1 i arasında rastgele sayı döndürüyoruz.
          $pwd = @$pwd . $chars{$key}; // Çıkan sayıya ait karakteri çekiyoruz ve $pwd değişkenine eşitliyoruz. Her döngüde, çıkan sayının önüne 1 sayı daha geleceği için, Şifremiz oluşmuş oluyor.
       } 
       for($i = 0; $i < $plength; $i++) { // $i eşit 0 ve $i istenen karakter sayısı kadar şifreden küçük ise $i arttır.
         $key1 = mt_rand(0,strlen($pwd)-1); // rastgele 0 ile Şifrenin oluşacağı karakterlerin sayısının -1 i arasında sayı üret.
         $key2 = mt_rand(0,strlen($pwd)-1); // rastgele 0 ile Şifrenin oluşacağı karakterlerin sayısının -1 i arasında sayı üret.
                 
         $tmp = $pwd{$key1}; 
         $pwd{$key1} = $pwd{$key2}; 
         $pwd{$key2} = $tmp; 
       } 
       return $pwd; // Ekrana şifreyi bas.
       }  
    $sifre = generatepassword("4"); // Örnek 4 karakterli bir şifre oluşturacak.
    preg_match('#<meta property="og:image" content="(.*?)"/>#s',$cek,$res);
    $reslink = $res[1];
    copy(''.$reslink.'','up/film-'.$sifre.'.jpg'); 
    // Filme Ait Resimi Çekelim
    $resim_adi = 'up/film-'.$sifre.'.jpg';
    
    
    $ekle = @mysql_query("insert into filmler(baslik,resim,fragman,ozeti,vtarih,puanlama)values('$film_adi','$resim_adi','$filmin_fragmani','$ozetim','$vizyon_tarihi','$im')");
    
    break;
    




    bu seferde veritabanına kayıt yapamıyorum tüm hücreleri kontrol ettim doğru :(