• 19-06-2013, 11:18:20
    #10
    trgino adlı üyeden alıntı: mesajı görüntüle
    explode edilen verileri array_merge ile birleştirip de yapabilirsiniz
    array marge süper ama, fazladan 1 tane array geliyor tam arasına
    yani
    a,b,c,d,e,f,g,h ile
    1,2,3,4,5,6,7,8 i birleştirdiğimde şöyle oluyor
    a,b,c,d,e,f,g,h,{BOŞ İNDİST},1,2,3,4,5,6,7,8

    echo ile bastırınca 9. array kısmında hata veriyor. orayı nasıl çözebiliriz ?

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Google Resim</title>
    </head>
    <?php
    function dosyaIndir($url,$inecekDizin,$name){
      	$urlBilgisi = pathinfo($url);
    	$uzanti = strtolower($urlBilgisi['extension']);
    	$ism=$inecekDizin."/fmd_".$name."_".rand(1000,9999).".$uzanti";
    	$ch = curl_init($url);
    	$fopen = fopen($ism,'w');
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    	curl_setopt($ch, CURLOPT_FILE, $fopen);
    	curl_exec($ch);
        curl_close($ch);
    	fclose($fopen);
    	return $ism; }
    	
    function al($l){
    	$ch = curl_init();
    	curl_setopt($ch, CURLOPT_URL, "$l");
    	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // Allow redirection
    	curl_setopt($ch, CURLOPT_HEADER, 0);
    	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    	$a=curl_exec($ch);
    	curl_close($ch);
    	return $a; }
    
    	// Başlangıç
    	//https://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=resim&start=2&rsz=8
    	
    if(isset($_POST["kelime"]))
    {
    $kelime = ($_POST["kelime"]);
    $kelime2 = str_replace(" ","+", $kelime);
    $sayfa = ($_POST["sayfa"]);
    $sayi = $sayfa*8;
    $kac = 8;
    
    $sayi2 = $sayi+$kac;
    ;
    $url = "http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=$kelime2&start=$sayi&rsz=8";
    $url2 = "http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=$kelime2&start=$sayi2&rsz=$kac";
    echo "<form method=post >
    		Kelime : <input type=text name=kelime value='$kelime'>
    		Sayfa : <input type=text name=sayfa value='$sayfa' size='1' >
    		<input type=submit value='Ara' name=arama ><br>
    		</form><br>";
    $a = al($url);
    $aa = al($url2);
    $b = explode("Gimage" ,$a);
    $bb = explode("Gimage", $aa);
    $b = array_merge($b, $bb);
    //echo "<pre>";
    //print_r($b);
    $s = 1;
    foreach($b as $c=>$d){
    	 
    	  	if($c>0){
    		$e=explode("\",\"url",$d);
    		$f=explode("\"unescapedUrl\":\"",$e[0]);
    		if(isset($f[1]))
    		{
    		$resimUrl=$f[1];
    		}
    	
    		else
    		{
    		$f[1] = "yok";
    		}
    		$resimUrl = $f[1];
    		
    		echo $c." - $resimUrl <br>";
    		// echo "<br> Kaynak : http://$nerden<br>";
    		
    		}
    		}
    
    		}
    		else 
    		
    echo "
    		<form method=post >
    		Kelime : <input type=text name=kelime>
    		Sayfa : <input type=text name=sayfa value='0' size='1' >
    		<input type=submit value='Ara' name=arama ><br>
    		</form>
    		
    		";
    				
    		?>
  • 19-06-2013, 11:55:39
    #11
    şöyle bir örnek yaptım senin için burdan çözersin sanırsam
    <?
    $url = file_get_contents("http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=sefa&start=1&rsz=8");
    
    $veri = json_decode($url);
    
    foreach($veri as $x=>$y){
    	foreach($y as $b=>$s){
    		foreach($s as $m){			
    		echo "<pre>";
    		print_r($m->url);
    		echo "</pre>";		
    		}	
    	}
    }
    ?>
    explode array merge felan kasmana gerek yok json veriyor saten veriyi laps diye alırsın
  • 19-06-2013, 12:27:46
    #12
    Kimlik doğrulama veya yönetimden onay bekliyor.
    SefaCan adlı üyeden alıntı: mesajı görüntüle
    direk hostta attım baktım ama
    Parse error: syntax error, unexpected T_STATIC in /home/xx/domains/xx.com/public_html/xx/xx/dene/xx.php on line 54
    hata veriyo...
    php sürümünüz ile alakalı bir sorun hocam sınıf ismi yazmak yerine direkt olarak static::SABIT_DEGISKEN şekline kullanım yaptığımdan dolayı oluyor static:: kısmını SAINTX:: şeklinde değiştirebilirsiniz.
    bLoo adlı üyeden alıntı: mesajı görüntüle
    Notice: Trying to get property of non-object in D:\xampp\htdocs\botz\google2.php on line 63

    Notice: Trying to get property of non-object in D:\xampp\htdocs\botz\google2.php on line 63

    Notice: Trying to get property of non-object in D:\xampp\htdocs\botz\google2.php on line 64

    Notice: Trying to get property of non-object in D:\xampp\htdocs\botz\google2.php on line 64

    Warning: Invalid argument supplied for foreach() in D:\xampp\htdocs\botz\google2.php on line 26
    .sonuclar

    Warning: Invalid argument supplied for foreach() in D:\xampp\htdocs\botz\google2.php on line 100

    Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7 Server at localhost Port 80
    veri alınan 63 ve 64. satırlardaki değişkenleri ekrana yazdırıp veri dönüp dönmediğini kontrol edin hocam bi yerde yanlışlık olabilir.


    Ek olarak;

    Yazdığım kodların çalışan sürümlerini kendi web siteme yükledim.
    Bot url; http://saintx.net/google.image.search/
    Kodlar; http://saintx.net/google.image.searc...ge.search.phps
  • 19-06-2013, 15:32:01
    #13
    SefaCan adlı üyeden alıntı: mesajı görüntüle
    şöyle bir örnek yaptım senin için burdan çözersin sanırsam
    <?
    $url = file_get_contents("http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=sefa&start=1&rsz=8");
    
    $veri = json_decode($url);
    
    foreach($veri as $x=>$y){
    	foreach($y as $b=>$s){
    		foreach($s as $m){			
    		echo "<pre>";
    		print_r($m->url);
    		echo "</pre>";		
    		}	
    	}
    }
    ?>
    explode array merge felan kasmana gerek yok json veriyor saten veriyi laps diye alırsın
    8 tane vermiyor mu yine? ben 15 tane istiyorum..
  • 19-06-2013, 15:35:30
    #14
    bLoo adlı üyeden alıntı: mesajı görüntüle
    8 tane vermiyor mu yine? ben 15 tane istiyorum..
    verdiğin örnekteki google url den yaptim ona bakmadım mantığı yazdım sana sayı artırılabiliyorsa attirip alirsin 15 tanede
  • 19-06-2013, 15:44:29
    #15
    SefaCan adlı üyeden alıntı: mesajı görüntüle
    verdiğin örnekteki google url den yaptim ona bakmadım mantığı yazdım sana sayı artırılabiliyorsa attirip alirsin 15 tanede
    yazdığınız kodu locale attım çalışmıyor. eksik yanları var sanırım bende json api bilgisi az bakamıyorum.. kontrol eder misiniz?

    saintx adlı üyeden alıntı: mesajı görüntüle
    php sürümünüz ile alakalı bir sorun hocam sınıf ismi yazmak yerine direkt olarak static::SABIT_DEGISKEN şekline kullanım yaptığımdan dolayı oluyor static:: kısmını SAINTX:: şeklinde değiştirebilirsiniz.

    veri alınan 63 ve 64. satırlardaki değişkenleri ekrana yazdırıp veri dönüp dönmediğini kontrol edin hocam bi yerde yanlışlık olabilir.


    Ek olarak;

    Yazdığım kodların çalışan sürümlerini kendi web siteme yükledim.
    Bot url; http://saintx.net/google.image.search/
    Kodlar; http://saintx.net/google.image.searc...ge.search.phps
    hocam son sürüm localhostta denedim olmadı. hostgator da denedim olmadı.
    "r1" => $this->GOOGLE_IMAGES_API_URL.'?'.implode('&', $this->api_request_query_string["q1"]),
    				"r2" => $this->GOOGLE_IMAGES_API_URL.'?'.implode('&', $this->api_request_query_string["q2"])
    yaparsam girer girmez hata vermesini engelleyip form arama kısmınıa erişebiliyorum. arama yaptığımda da
    Warning: Invalid argument supplied for foreach() in /home/suzluk/public_html/erol.org/1/google2.php on line 26
    .sonuclar
    
    Fatal error: Using $this when not in object context in /home/suzluk/public_html/erol.org/1/google2.php on line 100
  • 19-06-2013, 15:56:43
    #16
    bLoo adlı üyeden alıntı: mesajı görüntüle
    yazdığınız kodu locale attım çalışmıyor. eksik yanları var sanırım bende json api bilgisi az bakamıyorum.. kontrol eder misiniz?
    localinde sürüm ile ilgili bir sıkıntı olabilir bende calisiyor ama varsa bir host, hostta dene jsonun ile localin calismama durumu olamaz cünkü, json veri tipi bir eklenti değil.. veri tipi sadece... belki localine file_get_contents e de izin vermiyodur bi kontrol et uyarilari acip ne hata verdiğine
  • 19-06-2013, 16:06:22
    #17
    SefaCan adlı üyeden alıntı: mesajı görüntüle
    localinde sürüm ile ilgili bir sıkıntı olabilir bende calisiyor ama varsa bir host, hostta dene jsonun ile localin calismama durumu olamaz cünkü, json veri tipi bir eklenti değil.. veri tipi sadece... belki localine file_get_contents e de izin vermiyodur bi kontrol et uyarilari acip ne hata verdiğine
    evet gerçekten çok sade bi kod oldu bu. sonuçları veriyor ama en sonuna da böyle bir hata veriyor. hata gizleme kodu ile kaldırabiliyorum ancak hatanın ne olduğunu merak ettim.

    Warning: Invalid argument supplied for foreach() in /home/suzluk/public_html/x/1/i.php on line 7

    Warning: Invalid argument supplied for foreach() in /home/suzluk/public_html/x/1/i.php on line 7
  • 19-06-2013, 17:53:04
    #18
    direk verdiğim kod calisinca hatamı alıyorsun yada formdan veri alip öylemi işlem yapiyorun onları bi kontrol et