<?php class DosyaIslemcisi { private $anaDosya; private $icerikler; public $dosya; public $yol; public $dosyalar; public $parcaboyutu; public function parcala() { if(!file_exists($this->yol)) { mkdir($this->yol,0777); } $this->anaDosya = $this->yol . $this->dosya; echo $this->dosya." Dosyasi "; $birlesikDosya = fopen($this->anaDosya,'rb'); if($birlesikDosya === false) { return 'Dosya Acilamiyor'; } $i=0; while(!feof($birlesikDosya)) { $this->icerikler = fread($birlesikDosya,$this->parcaboyutu); $yeni = substr($this->dosya,0,strlen($this->dosya) - 4) . sprintf('%03d',$i++) . substr($this->dosya, -4); $yenidosya = $this->yol .$yeni ; $parcadosya = fopen($yenidosya,'wb'); echo $yeni." "; fwrite($parcadosya, $this->icerikler); fclose($parcadosya); } echo "Olarak Parcalandi"; } public function birlestir() { if(file_exists($this->yol . $this->dosya)) { unlink($this->yol . $this->dosya); } $dirHandle = dir($this->yol); $yenidosya = fopen($this->yol . $this->dosya, 'ab'); for($i = 0; $i < count($this->dosyalar); $i++) { $this->icerikler = file_get_contents($this->yol . $this->dosyalar[$i]); fwrite($yenidosya, $this->icerikler); } fclose($yenidosya); echo $this->dosya." Dosyasina "; foreach($this->dosyalar as $f){echo $f." ";} echo "Dosyalari Eklendi<br>"; } } $f=new DosyaIslemcisi(); $f->dosyalar = ['turk.jpg','kibris.jpg','azer.jpg']; $f->dosya = "cikti.jpg"; $f->yol = dirname(__FILE__)."/"; $f->parcaboyutu = 2000;//byte $f->birlestir(); $f->parcala(); ?>
Eklenen Dosyalar
turk.jpg 1,61 KB kibris.jpg 4,75 KB azer.jpg 1,63 KB
Çıktısı
cikti.jpg 8,00 KB
Parçalamadan Sonraki Çıktılar
cikti000.jpg 1,95 KB
cikti001.jpg 1,95 KB
cikti002.jpg 1,95 KB
cikti003.jpg 1,95 KB
cikti004.jpg 0,20 KB