class_ManipulateFiles.inc.php 2.64 KB
<?php
/**
 * @file	ManipulateFiles.inc.php
 * @category freeSN
 * @mailto	code [at] netz.coop
 * @version 0.4.200901
 * @link http://netz.coop
 * 
 *  @copyright Copyright by netz.coop e.G. 2015
 *  
 *
 *   This program is free software: you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 * 
 */


class ManipulateFiles {
	protected $var_exists;
	protected $var_fpath;
	protected $var_fdescript;
	protected $var_filedir;
	static public $ary_succesfullLinks=array();
	public function __construct($param_filedir) {
		$this->var_filedir = $param_filedir;
	}

	public function fileputs($param_name, $param_content,$param_showurl=null) {
		$this->checkpath('./'.$this->var_filedir.'/'.$param_name);
		if($this->var_exists == true) {
			$this->fileopen4a();
		}else {
			$this->fileopen4w();
			if($param_showurl === 1) {
				$string_suc =  '<a href='.$this->var_filedir.$param_name.'> '.$param_name.'</a> ' ;
				self::$ary_succesfullLinks[] = $string_suc;
			}
		}
		$var_size =strlen($param_content);
		fwrite($this->var_fdescript,$param_content,$var_size);
		fflush($this->var_fdescript);
		$this->fileclose();
	}

	public function filegets($param_name, $param_content=null) {
		$this->checkpath('./'.$this->var_filedir.'/'.$param_name);
		if($this->var_exists) {
			$var_content = '';
			$this->fileopen4r();
			while(!feof($this->var_fdescript)) {
				$var_content .= fread($this->var_fdescript,filesize ($this->var_fpath));
			}
			$this->fileclose();
			return $var_content;
		}

	}

	protected function checkpath($var_fpath) {

		$this->var_exists = false;
		$this->var_fpath = $var_fpath;
		if(file_exists($var_fpath)) {
			echo "Path: True ".$var_fpath;
			$this->var_exists = true;
		}else{
			echo "Path: False ".$var_fpath;
			echo " CWD: ". getcwd()."\n";
		}
	}

	protected function fileopen4r() {
		$this->var_fdescript = fopen($this->var_fpath,'r');
	}

	protected function fileopen4w() {
		$this->var_fdescript = fopen($this->var_fpath,'w');
	}

	protected function fileopen4a() {
		$this->var_fdescript = fopen($this->var_fpath,'a');
	}

	protected function fileclose() {
		fclose($this->var_fdescript);
	}
}

?>