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

 

Sunucu Kullanılabilir Port Kontrol Sınıfı

<?php
class porttara {
var $liste=["80||HTTP","443||SSL","2083||CPanelSSL","2082||CPanel","2087||WHMSSL","2086||WHM","2096||WebMailSSL","2095||WebMail","2077||Webdisk","2078||WebdiskSSL","8443||PleskSSL","8880||Plesk","21||FTP","990||FTPs","22||SFTP","2222||SFTPShare","25||SMTP","26||SMTP","587||SMTP","465||SMTPSSL","110||POP3","995||POP3SSL","143||IMAP","993||IMAPSSL","3306||MySQL","1433||MSSQL","5432||PostgreSQLServer","53||DomainNameServer","9998||PleskWebmail","9001||DotNetPanel"];
	var $host="127.0.0.1";
	var	$sonuc=[];
	public function tara() {
		$this->liste=array_unique($this->liste);
		foreach($this->liste as $liste){
			$parca=explode("||",$liste);
			if(count($parca) == 2) {
				$sc=socket_create (AF_INET, SOCK_STREAM, getprotobyname("TCP"));
				if(@socket_connect($sc,$this->host,$parca[0])){
					$this->sonuc[]=$parca[0]."||<b style='color:green'>Açık</b>||".$parca[1];
				}else{
					$this->sonuc[]=$parca[0]."||<i style='color:red'>Kapalı</i>||".$parca[1];
				}
			}
		}
	}
}
$tara=new porttara;
$tara->host="127.0.0.1";
$tara->tara();
print_r($tara->sonuc);
?>

Çıktısı

Array
(
    [0] => 80||Açık||HTTP
    [1] => 443||Kapalı||SSL
    [2] => 2083||Kapalı||CPanelSSL
    [3] => 2082||Kapalı||CPanel
    [4] => 2087||Kapalı||WHMSSL
    [5] => 2086||Kapalı||WHM
    [6] => 2096||Kapalı||WebMailSSL
    [7] => 2095||Kapalı||WebMail
    [8] => 2077||Kapalı||Webdisk
    [9] => 2078||Kapalı||WebdiskSSL
    [10] => 8443||Kapalı||PleskSSL
    [11] => 8880||Kapalı||Plesk
    [12] => 21||Kapalı||FTP
    [13] => 990||Kapalı||FTPs
    [14] => 22||Kapalı||SFTP
    [15] => 2222||Kapalı||SFTPShare
    [16] => 25||Kapalı||SMTP
    [17] => 26||Kapalı||SMTP
    [18] => 587||Kapalı||SMTP
    [19] => 465||Kapalı||SMTPSSL
    [20] => 110||Kapalı||POP3
    [21] => 995||Kapalı||POP3SSL
    [22] => 143||Kapalı||IMAP
    [23] => 993||Kapalı||IMAPSSL
    [24] => 3306||Açık||MySQL
    [25] => 1433||Kapalı||MSSQL
    [26] => 5432||Kapalı||PostgreSQLServer
    [27] => 53||Kapalı||DomainNameServer
    [28] => 9998||Kapalı||PleskWebmail
    [29] => 9001||Kapalı||DotNetPanel
)

 

Uzak Sunucuya Erişim Kontrolü

<?php
class durum{
	function sunucu($adres){
			 if(strstr($adres,"/")){$adres = substr($adres, 0, strpos($adres, "/"));}
			 return $adres;
	}
	function durum($adres="",$port=80,$zamanasimi=3) {
		if($adres=="") $adres = $_SERVER['REMOTE_ADDR'];
		$churl = fsockopen($adres, $port, $errno, $errstr, $zamanasimi); 
		if (!$churl){
			echo 'Sunucu Çevrimdışı';
		} else{
			echo 'Sunucu Çevrimiçi';
		}
	}
	function portkontrol($adres,$zamanasimi,$port) {
		if($adres=="") $adres = $_SERVER['REMOTE_ADDR'];
		$churl = @fsockopen($adres, $port, $errno, $errstr, $zamanasimi); 
		if (!$churl){
			echo "Port $port çalışmıyor";
		}else{
			echo "Port $port çalışıyor";
		}
	}
}
$durum = new durum("216.58.212.46");
echo '<br>';
$durum->portkontrol("216.58.212.46",1,80);//google ip
?>

Çıktısı

Sunucu Çevrimiçi
Port 80 çalışıyor