Etiket arşivi: Bayram

Php Upload Class

%100 tüm testlerimi yapmadım ama bayram tatilinde boş durmayıp upload fonksiyon kütüphanemi bitireyim dedim,

Kullanım Örneği;

<?php

include('upload.class.php');

$a = new upload;

/*Zorunlu değil boş bırakırsak root dizine atar*/
$a->directory = 'D:\wamp\www'.DIRECTORY_SEPARATOR;

/*Girmek zorunlu değil girmek gerede 250K,2M,1G vb, parametreler ile girilmelidir*/
$a->allowed_size = '2G';

/*Girmek zorunlu değil Dosya uzantısı kontrolü yapar girmek gerekirse array('uzantı') şeklinde */
$a->allowed_ext = array('jpg','gif','png');

/*Girmek zorunlu değil Dosya uzantısına aldırmaksınızın eğer resimli işlemler yapıyor isek resim oldugunu belirmekte fayda var*/
$a->check_image_type = true;

/*Girmek zorunlu değil Dosyaya yeni ad vermek iser isek not uzantıyı yazmıor sadece adı değiştiriyor*/
$a->file_rename = uniqid();

/*girmek zorunlu hangi file formdan geldiğini belirmemiz gerekiyor. multi upload fonksiyonunu kapattım*/
$file = $a->save('ahmet');

/*hata çıktıları*/
if($file){
	print_r($file);
}else{
	print_r($a->error);
}

?>

upload.class.php

<?php
	/*
		@author mehmetmutlu.com.tr
		@16 Kasım 2010, Salı
	*/

class upload{
	public $directory = NULL;
	public $allowed_size = NULL;
	public $allowed_ext = NULL;
	public $check_image_type = false;
	public $file_rename = NULL;
	public $error = NULL;
	public $renadme = NULL;

	public function save($file=NULL){
		if(!$this->check_directory()){
			die('Upload dizini yok yada yazma izini geçersiz.');
		}
		if($file==NULL){
			die('class save(\'\') file değeri geçersiz');
		}else{
			if($_FILES[$file]['error']==0 && $_FILES[$file]['size']!=0){
				if(!$this->check_allowed_ext($_FILES[$file])){
					$this->error[] = array(1,'Geçersiz dosya uzantısı.');
				}elseif(!$this->check_allowed_size($_FILES[$file])){
					$this->error[] = array(2,'Upload limit aşımı. Maksimum upload boyutu '.$this->allowed_size);
				}elseif(!$this->check_image($_FILES[$file])){
					$this->error[] = array(3,'Geçersiz resim dosyası');
				}else{
					if(move_uploaded_file($_FILES[$file]['tmp_name'], $this->directory . $this->path($_FILES[$file]))){
						return array('file'=>$this->path($_FILES[$file]),'ext'=>pathinfo(basename($_FILES[$file]['name']),PATHINFO_EXTENSION),'size'=>$_FILES[$file]['size']);
					}else{
						$this->error[] = array(0,'Upload sırasında hata oluştu');
						return false;
					}
				}
			}else{
				$this->error[] = array(0,'Upload sırasında hata oluştu');
				return false;
			}
		}
	}

	private function path($file){
		if($this->file_rename==NULL){
			return  basename($file['name']);
		}else{
			return $this->file_rename.'.'.pathinfo(basename($file['name']),PATHINFO_EXTENSION);
		}
	}

    private function check_directory(){
		if(is_dir(realpath($this->directory)) || is_writable(realpath($this->directory))){
            return true;
        }
		return false;
    }

    private function check_allowed_size($file){
		if($this->allowed_size!=NULL){
			if(!preg_match('#[0-9]++[GMKB]#',$this->allowed_size)){
				return false;
			}
			switch(substr($this->allowed_size,-1)){
				case 'G': $size = intval($this->allowed_size) * pow(1024,3); break;
				case 'M': $size = intval($this->allowed_size) * pow(1024,2); break;
				case 'K': $size = intval($this->allowed_size) * pow(1024,1); break;
				default : $size = intval($this->allowed_size);               break;
			}
			return ($file['size'] <= $size);
		}else{
			return true;
		}
    }

    private function check_allowed_ext($file){
		if($this->allowed_ext!=NULL){
			if (in_array(pathinfo($file['name'],PATHINFO_EXTENSION),$this->allowed_ext)){
				return true;
			}else{
				return false;
			}
		}else{
			return true;
		}
    }

	private function check_image($file){
		if($this->check_image_type==false){
			return true;
		}else{
			if(!getimagesize($file['tmp_name'])) {
				return false;
			}else{
				return true;
			}
		}
	}

}

?>

not: class içerisinde bazı fonsiyonları Yusuf Koç‘un upload classın dan alıntı yapılmıştır…

Dar Ayakkabı…

O bayram bana ayakkabı almaya karar verdiler.
Hazır ayakkabı satan mağaza yoktu şehirde.
Tek ayakkabı yapan dükkânında ayakkabıcı çıplak ayağımı bir kartonun üzerine koydu, iyice basmamı söyledikten sonra ağzındaki kurşun kalemi eline alıp ayağımın çevresini çizdi.
O ayağımın çizildiği karton benim ayakkabı numaramdı.
Günlerce yeni ayakkabılarımın hayalini kurdum.
Babamın anlattığına göre ayakkabılarım siyah ve bağcıklı olacaktı.
Kapının her çalınışında koştum.
Ayakkabılarım bayramdan bir gün önce geldi, siyah-bağcıklı.
O gün onları giymedim.
Bayram gecesi yatağımın altına yerleştirdim yeni ayakkabılarımı.
Arada bir kalkıp kutusundan çıkartıyor, yere koyuyor, yukarıdan, yandan, önden bakıp duruyordum.
Parlak ve yuvarlak burnunu gecenin karanlığında kim bilir kaç kez okşadım.
Uyku girmedi gözüme.
Sabahleyin ev ahalisi kalktığında, ayakkabı kutusu kucağımda sandalyede oturuyordum ben.
Ayakkabımı babam giydirdi.
Ayağıma olmamıştı ayakkabılarım, dardı ve canımı yakmıştı.
Ama bunu babama söylemedim.
O ‘Sıkıyor mu? ‘ diye sordukça ‘Hayır’ yanıtını veriyordum.
‘Dar, ayağımı acıtıyor’ desem, geri gidecekti ayakkabılarım ve ayakkabıcının hemen bir yeni ayakkabı yapması olanaksızdı.
O bayram sabahı canım yana yana yürüdüm.
Bir süre sonra acı dayanılmaz oldu.
Dişimi sıktım.
Topalladım.
Soranlara ‘Dizimi vurdum’ dedim, ama ayakkabılarımın ayağımı sıktığını kimseye söylemedim.
**********
Doğrusunu isterseniz yaşam dar ayakkabıyla yürümektir.
Kimi zaman dar bir maaş, kimi zaman sevimsiz bir iş…
Kimi zaman bir mekân dar ayakkabı olur bize, kimi zaman bir çevre,
Kimi zaman bir sokak, ya da bir şehir…
Kimi zaman dostluklar, arkadaşlıklar, beraberlikler bir dar ayakkabıya dönüşür.
Kimi zaman zamandır dar ayakkabı, geçmek bilmez.
Kimi zaman zenginlik, kimi zaman başınızı koyduğunuz yastık…
Canınız yanar.
Topallaya topallaya gidersiniz.
Sonradan öğrendim yaşamın dar ayakkabıyla yürüme sanatı olduğunu…
Alıntı…