• 03-02-2010, 16:49:03
    #1
    Arkadaşlar selamlar,
    bir web sayfasını farklı yöntemlerle açtırmaya çalışırken biri hata verdiğinde elseif'deki 2. deneme yoluna gecmesini istiyorum aşağıdaki gibi bir yol izledim fakat sanırım başarılı olamadım. bunu nasıl sağlayabilirim.

    Saygılar.

        public function video_info()
        {
            if($this->fgc)
            {
                $info = @file_get_contents($this->info_addr . '?video_id=' . $this->vid);
                if($info == false)
                {
                    $this->error[] = 'File_get_contents bu sayfayi acamadi';
                    $this->fgc = false;
                    $this->video_info(); // tekrar cagir ama cagirmiyor false donuyor
                }
            }
            elseif($this->curl)
            {
                $ch = curl_init();
                curl_setopt($ch , CURLOPT_URL , $this->info_addr . '?video_id=' . $this->vid);
                @curl_setopt_array($ch , $this->curl_opt);
                $info = curl_exec($ch);
                if($info === false)
                {
                    $this->error[] = 'Curl Bu sayfayi acamadi';
                    $this->curl = false;
                    $this->video_info(); // tekrar cagir
                }
            }
            elseif($this->url_fopen == '1')
            {
                $fp = @fopen($this->info_addr . '?video_id=' . $this->vid,'rb');
                if(!$fp)
                {
                    $this->error[] = 'fopen sayfayi acamadi';
                    $this->url_fopen = '0';
                    $this->video_info();
                }
                else
                {
                    $info = '';
                    while(!feof($fp))
                    {
                        $info .= fread($fp,2048);
                    }
                }
            }
            else
            {
                return false;
            }
        
        parse_str($info,$out);
        $this->video_detail = $out;
        return $out;
        }
  • 03-02-2010, 17:21:18
    #2
    Şöyle olabilirmi ?

        public function video_info()
        {
            if($this->fgc)
            {
                $info = @file_get_contents($this->info_addr . '?video_id=' . $this->vid);
                if($info == false)
                {
                    $this->error[] = 'File_get_contents bu sayfayi acamadi';
                    $this->fgc = false;
                    $this->video_info(); // tekrar cagir ama cagirmiyor false donuyor
                }
            }
            else
            {
                $ch = curl_init();
                curl_setopt($ch , CURLOPT_URL , $this->info_addr . '?video_id=' . $this->vid);
                @curl_setopt_array($ch , $this->curl_opt);
                $info = curl_exec($ch);
                if($info === false)
                {
                    $this->error[] = 'Curl Bu sayfayi acamadi';
                    $this->curl = false;
                    $this->video_info(); // tekrar cagir
                }
            }
            elseif($this->url_fopen ==1)
            {
                $fp = @fopen($this->info_addr . '?video_id=' . $this->vid,'rb');
                if(!$fp)
                {
                    $this->error[] = 'fopen sayfayi acamadi';
                    $this->url_fopen = '0';
                    $this->video_info();
                }
                else
                {
                    $info = '';
                    while(!feof($fp))
                    {
                        $info .= fread($fp,2048);
                    }
                }
            }
            else
            {
                return false;
            }
        
        parse_str($info,$out);
        $this->video_detail = $out;
        return $out;
        }
  • 03-02-2010, 17:48:51
    #3
    Yok hocam tam olarak istediğim bu değil. Sen biraz karıştırmışsın olayı else'den sonra elseif'i açmışsın.
  • 03-02-2010, 18:16:45
    #4
    Evet galiba doğru şimdi baktımda karıştırmışım üstatlar yardım eder.