note 73576 deleted from ref.dir by nlopess
| From: | nlopess@php.net | Date: | Thu, 01 Mar 2007 22:50:03 +0000 |
| Subject: | note 73576 deleted from ref.dir by nlopess | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-124001@lists.php.net to get a copy of this message | ||
Note Submitter: oscararzola at gmail dot com
----
<?php
class muestraArchivos
{
//constructor
var $directorio;
var $archivos;
var $exten = array();
public function setDir($dameDir)
{
$this->directorio = dir($dameDir);
}
private function leeDir()
{
return $this->directorio->read();
}
public function addExtension($ex)
{
if($this->getNumRows() > 0)
{
return array_push($this->exten, $ex);
}
else
{
return $this->exten[] = $ex;
}
}
public function showDir()
{
//echo $this->directorio->path."<br>";
//hacemos un while para sacar los archivos del directorio
while($this->archivos = $this->leeDir())
{
//eliminamos los puntitos nacos
if($this->archivos != "." && $this->archivos != "..")
{
if($this->checaExtension($this->archivos))
{
echo $this->archivos."<br>\n";
}
}
}
}
public function showDirCadena()
{
$j=0;
//hacemos un while para sacar los archivos del directorio
while($this->archivos = $this->directorio->read())
{
//eliminamos los puntitos nacos
if($this->archivos != "." && $this->archivos != "..")
{
if($this->checaExtension($this->archivos))
{
$j++;
echo "file$j=".$this->archivos."&";
}
}
}
}
public function showDirXml()
{
$j=0;
header("Content-type: text/xml\n");
echo "<?xml version='1.0' encoding='UTF-8'?>\n";
echo "<archivos>\n";
//hacemos un while para sacar los archivos del directorio
while($this->archivos = $this->directorio->read())
{
//eliminamos los puntitos nacos
if($this->archivos != "." && $this->archivos != "..")
{
if($this->checaExtension($this->archivos))
{
$j++;
echo "<archivo>".$this->archivos."</archivo>\n";
}
}
}
echo "</archivos>";
}
public function closeDir()
{
$this->directorio->close;
}
private function checaExtension($archivo)
{
$extensiondestripada = split("[.]",$archivo);
for($n=0; $n<$this->getNumRows();$n++)
{
//si coincide con alguna extension valida imprimimos
if(!strcmp($extensiondestripada[1],$this->exten[$n]))
{
$salida = 1;
break;
}
else
{
$salida = 0;
}
}
return $salida;
}
private function getNumRows()
{
return count($this->exten);
}
}
?>
<?php
include('dir.php');
$test = new muestraArchivos;
$test->setDir("jpgs");
$test->addExtension("jpg");
$test->showDirCadena();
$test->closeDir();
?>