Uzak Sunucu Dosya İstatiktikleri Sınıfı

<?php
class UzakDosyaKontrol {
	var $hata;
	var $hatano;
	var $hatamesaj;
	var $sunucu;
	var $tarih;
	var $boyut;
	var $tip;
	var $httpcevir = array('Server' => 'sunucu',
		'Last-Modified' => 'tarih',
		'Content-Length' => 'boyut',
		'Content-Type' => 'tip'
		); 
	var $istatistik = array('sunucu' => '',
		'tarih' => '',
		'boyut' => '',
		'tip' => ''
		);
	function UzakDosyaKontrol($sunucu, $file, $port = 80) {
		$file = preg_replace("#^\/|^#i", "/", $file);
		$this->hata = false;
		$fp = fsockopen ($sunucu, $port, $this->hatano, $this->hatamesaj, 30);
		if($fp) {
			fputs ($fp, "HEAD $file HTTP/1.0\r\n");
			fputs ($fp, "Host: $sunucu\r\n" );
			fputs ($fp, "\r\n");
			while(!feof($fp)) {
				$satir = fgets($fp,4096);
				if(preg_match("/^([a-zA-Z\-]+): ([[:ascii:]]+)$/", $satir, $dizi)) {
					if(isset($this->httpcevir[$dizi[1]])) {
						$this->istatistik[$this->httpcevir[$dizi[1]]] = $dizi[2];
					}
				}
			}
		} else {
			$this->hata = true;
		}
	}
	function sunucugetir() {
		return $this->istatistik['sunucu'];
	}
	function tarihgetir() {
		return date("d.m.Y H:i:s",strtotime($this->istatistik['tarih']));
	}
	function boyutgetir() {
		return $this->istatistik['boyut'];
	}
	function tipgetir() {
		return $this->istatistik['tip'];		
	}
	function hatagetir() {
		return $this->hata;
	}
	function hatamesajgetir() {
		return $this->hatamesaj;
	}
	function hatanogetir() {
		return $this->hatano;
	}
	
}
$r = new UzakDosyaKontrol('www.google.com.tr', 'images/branding/googlelogo/2x/googlelogo_color_272x92dp.png');
if($r->hata) {
	echo $r->hatamesajgetir(), '(', $r->hatanogetir(), ')<br>';
}else{
	echo $r->sunucugetir(), 
	'<br>',$r->tarihgetir(), 
	'<br>',$r->boyutgetir(), 
	'bayt<br>',$r->tipgetir(), '<br>';
}
?>

Çıktısı

sffe 
08.12.2016 02:00:57
13504 bayt
image/png