Uzak Sunucu Dosya İstatiktikleri Sınıfı

PHP
72 lines
<?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>';
}
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
4 lines
sffe
08.12.2016 02:00:57
13504 bayt
image/png
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Sizin Değerli Görüşlerinize İhtiyacımız Var.