57 lines
1.6 KiB
PHP
57 lines
1.6 KiB
PHP
<?php
|
|
namespace nulib\file;
|
|
|
|
use Iterator;
|
|
use nulib\os\IOException;
|
|
use nulib\php\ICloseable;
|
|
|
|
/**
|
|
* Interface _IFile: méthodes communes entre {@link IReader} et {@link IWriter}
|
|
*/
|
|
interface _IFile extends Iterator, ICloseable {
|
|
/**
|
|
* @return resource|null retourner la resource associée à ce fichier si cela
|
|
* a du sens
|
|
*/
|
|
function getResource();
|
|
|
|
/** si ce fichier est basé sur une resource, ajouter un filtre. */
|
|
function appendFilter(string $filterName, ?int $readWrite=null, $params=null): void;
|
|
|
|
/** si ce fichier est basé sur une resource, ajouter un filtre. */
|
|
function prependFilter(string $filterName, ?int $readWrite=null, $params=null): void;
|
|
|
|
/** si ce fichier est basé sur une resource, spécifier l'encoding. */
|
|
function setEncodingFilter(string $from, string $to): void;
|
|
|
|
/** vérifier si la resource est associée à un terminal */
|
|
function isatty(): bool;
|
|
|
|
/** obtenir des informations sur le fichier */
|
|
function fstat(): array;
|
|
|
|
/** retourner la taille du fichier */
|
|
function getSize(): int;
|
|
|
|
/**
|
|
* retourner la position actuelle de lecture/écriture
|
|
*
|
|
* @throws IOException
|
|
*/
|
|
function ftell(): int;
|
|
|
|
/**
|
|
* modifier la position actuelle de lecture/écriture
|
|
*
|
|
* @return int la position après avoir déplacé le pointeur
|
|
* @throws IOException
|
|
*/
|
|
function fseek(int $offset, int $whence=SEEK_SET): int;
|
|
|
|
/** comme {@link fseek()} mais retourne self */
|
|
function seek(int $offset, int $whence=SEEK_SET): self;
|
|
|
|
/** fermer le fichier si c'est nécessaire */
|
|
function close(bool $close=true): void;
|
|
}
|