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;
}
üstatlar yardım eder.