Posted in

Clase para archivos

Clase (arxius.class.php)
Leer directorio, información de tamaño y número de archivos, leer y escribir archivos, eliminar directorio.

<?
class arxius{
var $path;
var $arxius = array();
var $contents;

function directori($ruta){
$this->path = $ruta;
}
function llistar(){
$dir = opendir($this->path);
while($element = readdir($dir)){
if($element != "." and $element != ".." and $element != "miniaturas") $this->arxius[] = $element;
}
closedir($dir);
return $this->arxius;
}
function getRand($quantity){
$dir = opendir($this->path);
$cant = -1;
while($element = readdir($dir)){
if($element != "." and $element != ".." and $element != "miniaturas" and $element != "home"){ $this->arxius[] = $element; $cant++; }
}
closedir($dir);
if($quantity == 1){
$rand = rand(0, $cant);
return $this->arxius[$rand];
}else{
$return = array();
$a = 0;
$quantity = ($quantity < $cant) ? $quantity : $cant;
while($a < $quantity){
$rand = rand(0, $cant);
if(!in_array($this->arxius[$rand], $return)){
$return[] = $this->arxius[$rand];
$a++;
}
}
return $return;
}
}
function info(){
$quantitat = 0;
$pesImgs = 0;
if(is_dir($this->path)){
$archivos = opendir($this->path);
while ($img = readdir($archivos)){
if ($img != "." and $img != ".."){
$quantitat++;
$pesImgs += filesize($this->path . "/" . $img);
}
}
}
return $dades = array($quantitat, $pesImgs);
}
function llegir(){
$dir = $this->path;
$fp = fopen($dir, "r");
$this->contents = fread($fp, filesize($dir));
fclose($fp);
return $this->contents;
}
function escriure($string){
$dir = $this->path;
$fp = fopen($dir, "a");
$write = fputs($fp, $string);
fclose($fp);
}
function escriureNou($string){
$dir = $this->path;
$fp = fopen($dir, "w");
$write = fputs($fp, $string);
fclose($fp);
}
function eliminar(){
$directorio = opendir($this->path);
while($archivo = readdir($directorio)){
if(($archivo != '.') and ($archivo != '..')){
unlink($this->path . $archivo);
}
}
closedir($directorio);
rmdir($this->path);
}
}
?>

Ejemplo de uso:

include("clases/arxius.class.php");

$arxius = new arxius();
$arxius->directori("test");
$data = $arxius->llistar();

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *


The reCAPTCHA verification period has expired. Please reload the page.