0) { $data = fread($fp, filesize($file)); } flock($fp, LOCK_UN); fclose($fp); return $data; } // ------------------------------------------------------------------------ /** * Write File * * Writes data to the file specified in the path. * Creats a new file if non-existant. * * @access public * @param string path to file * @param string file data * @return bool */ function write_file($path, $data) { if ( ! $fp = @fopen($path, 'wb')) { return FALSE; } flock($fp, LOCK_EX); fwrite($fp, $data); flock($fp, LOCK_UN); fclose($fp); return TRUE; } // ------------------------------------------------------------------------ /** * Delete Files * * Deletes all files contained in the supplied directory path. * Files must be writable or owned by the system in order to be deleted. * If the second parameter is set to TRUE, any direcotries contained * within the supplied base directory will be nuked as well. * * @access public * @param string path to file * @param bool whether to delete any directories found in the path * @return bool */ function delete_files($path, $del_dir = FALSE) { // Trim the trailing slahs $path = preg_replace("|^(.+?)/*$|", "\\1", $path); if ( ! $current_dir = @opendir($path)) return; while(FALSE !== ($filename = @readdir($current_dir))) { if ($filename != "." and $filename != "..") { if (is_dir($path.'/'.$filename)) { delete_files($path.'/'.$filename, $del_dir); } else { unlink($path.'/'.$filename); } } } @closedir($current_dir); if ($del_dir == TRUE) { @rmdir($path); } } ?>