<?php /** * PHP Shapefile - PHP library to read and write ESRI Shapefiles, compatible with WKT and GeoJSON * * @package Shapefile * @author Gaspare Sganga * @version 4.0.0dev * @license MIT * @link https://gasparesganga.com/labs/php-shapefile/ */ namespace Shapefile\File; /** * Interface to interact with files in binary mode. */ interface FileInterface { /** * Returns true if file is readable. * * @return bool */ public function isReadable(); /** * Returns true if file is writable. * * @return bool */ public function isWritable(); /** * Truncates file to given length. * * @param int $size Size to truncate to. * * @return void */ public function truncate($size); /** * Gets file size in bytes. * * @return int */ public function getSize(); /** * Gets file current pointer position. * * @return int */ public function getPointer(); /** * Sets file pointer to specified position. * * @param int $position The position to set the pointer to. * * @return void */ public function setPointer($position); /** * Resets file pointer position to its end. * * @return void. */ public function resetPointer(); /** * Increases file pointer position of specified offset. * * @param int $offset The offset to move the pointer for. * * @return void */ public function setOffset($offset); /** * Reads raw binary string packed data from file. * * @param int $length Number of bytes to read. * * @return string|false Returns binary string packed data, or false on failure. */ public function read($length); /** * Writes raw binary string packed data to file. * * @param string $data Binary string packed data to write. * * @return bool Returns true on success, or false on failure. */ public function write($data); }