Como Modificar Este Script De Listagem De Arquivos De Um Diretório? Olá amigos, tenho um script muito bom para listar arquivos em um determinado diretório... Porem estou com o seguinte problema, não estou conseguindo adicionar as seguintes funções a ele: 1. Definir um diretório base. Ou seja quero que ele liste apenas o que está dentro do diretório base arquivos (ex. www.meusite.com.br/listfile.php?dir=fotos"qualquer pasta o arquivo a partir daki") se eu modificar a url para listar o que está dentro de um diretório que não seja o definido como base ou qualquer outro que esteja fora do direitório base ou mesmo o raiz do site (ex. wwww.meusite.com.br/listfile.php?dir=filmes), vai resultar em erro. 2. Adicionar um campo para busca de conteúdo. Ou seja se dentro de um pasta tiver 1000 fotos ou arquivos e quero encontrar um com o nome x então basta digitar no campo e pedir para pesquisar e então será retornado todos os arquivos que tiverem o nome que pedir para pesquisar. 3. Paginar os resultados em 100 itens por página. Exemplo, se tenho 1000 arquivos então terei 10 páginas de resultados. 4. Ordenar o resultado em ordem alfabética Segue abaixo o meu código do arquivo listfile.php <html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>
<?php
$dir=isset($_GET['dir'])?$_GET['dir']:"./"
;
if($dir[strlen($dir)-1]!='/')$dir=$dir."/";
echo $dir2=$dir;
?>
</title>
</head>
<body onselectstart="return false" oncontextmenu="return false">
<table width="100%" border="0" align="center">
<tr bgcolor="#6C7B8B">
<td width="65%"><div align="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Arquivo</font></strong></div></td>
<td width="15%"><div align="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Tamanho</font></strong></div></td>
<td width="20%"><div align="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Data</font></strong></div></td>
</tr>
<?php
$dir=utf8_encode($dir);
/* Script para listar arquivos do diretório, com os respectivos links */
$list=array_reverse(explode("/",$_SERVER['SCRIPT_NAME']));
$list=$list[0];
if ($handle = @opendir($dir))
{
$x=0;
while (false!==($file=readdir($handle)))
{ //lê arquivos do diretório
if ($file!="." && $file!=".." && $file!="index.php" )
{ //evita leitura de . e ..
$file2=utf8_decode($file);
if($x%2==0)
{
echo '<tr bgcolor="#D3D3D3">';
} //if
else
{
echo '<tr bgcolor="#BEBEBE">';
} //else
$type=getimagesize($dir.$file);
$type=$type['mime'];
echo '
<td><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><li> <a href="'.(@opendir($dir.$file)?$list."?dir=".$dir2.$file2:
$dir2.$file2).'"'.(empty($type)?'':' class="imagem"').'>'.$file2.'</a></font></strong>
</td>
<td align="left"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">'.(@filesize($dir.$file) > 1048576 ? round(@filesize($dir.$file)/1048576,2)." Mb" : round(@filesize($dir.$file)/1024,2)." Kb").'</font></strong></td>
<td align="center"><strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">'.date("d/m/Y", @filemtime($dir.$file)).'</font></strong></td>
</tr>
';
$x++;
} //if
} //while
closedir($handle); //fecha o diretório
if($x<=0)
{
echo '
<tr bgcolor="#D3D3D3">
<td colspan="3" align="center">Ainda não existem arquivos nesta pasta!</td>
</tr>';
}
} //if
function diretorio($path) {
global $tamanho_arquivo, $tamanho_total, $total_pastas;
if ($dir = opendir($path)) {
while (false !== ($file = readdir($dir))) {
if (is_dir($path."/".$file)) {
if ($file != '.' && $file != '..') {
$total_pastas++;
}
}
else {
$tab = " ";
$filesize = $tab . '(' . filesize ($path.'/'.$file) . ' kb)';
$tamanho_total = $tamanho_total + filesize ($path.'/'.$file);
$tamanho_arquivo++;
}
}
closedir($dir);
}
}
diretorio($dir.$file);//path da sua pasta
$tamanho_total = round($tamanho_total / 1024 / 1024, 2);
echo"
<b>Total de Arquivos</b> - $tamanho_arquivo arquivos<br>
<b>Tamanho da Pasta</b> - $tamanho_total MB<br>
";
echo
'<tr bgcolor="#6C7B8B">
<td colspan="1" align="center"> <strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">';
echo
"<b>Total de arquivos</b> - $tamanho_arquivo arquivos";
echo
'</font></strong></td>';
echo
'<td colspan="2" align="center"> <strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">';
echo
"<b>Tamanho da pasta</b> - $tamanho_total MB";
echo
'</font></strong></td></tr>';
echo
'<tr bgcolor="#363636">
<td colspan="3" align="center"> <strong><font size="2" face="Verdana, Arial, Helvetica, sans-serif">';
echo
"<----------------------------------->";
echo
'</font></strong></td></tr>';
?>
</tr>
</table>
</body>
</html>