Ir para conteúdo
Fórum Script Brasil
  • 0

Abrir Fotos


phpgoiania

Pergunta

3 respostass a esta questão

Posts Recomendados

  • 0
Guest - Dukes -

Queres listar os arquivos de um determinado "diretorio"????

Se for isso tem um Scritp

<?php
###############################
# Por: Silvano Girardi Jr. (gosh)
# Versão: 1.0
###############################

// Retorna um array contendo, na primeira posicao, os links para
// os arquivos e, na segunda posição, o número total de arquivos
// com a $extensao, encontrados no $diretorio.
// Se a $extensao não for especificada, será usada a .txt
// Obs.: Não é necessário mexer nesta função, a não ser que se
// queira alterar o formato da exibição dos links

function criaLista($diretorio,$extensao=".jpg") {
if(is_dir($diretorio)) { 
 if ($handle = opendir($diretorio)) { 
 $i=0;
 while (false !== ($arquivo = readdir($handle))) {
  if(substr($arquivo,strlen($arquivo)-4,strlen($arquivo)) == $extensao) {
   $tamanho = number_format((filesize($diretorio.$arquivo)/ 1024),2,",",".");
   // Formato de exibição dos links
   $arquivos[$i] = " <a href='$diretorio$arquivo' target='_blank'><img src=\"$diretorio$arquivo\" width=\"100\" height=\"100\"><br></a> <BR> <B>Nome:</> <font size=\"2\" color=\"#FF0000\" face\=\"Verdana, Arial, Helvetica, sans-serif\"> $arquivo </font> <BR> (Tamanho: $tamanho KB)<br> <BR> <HR>\n"; 
   $i++;
  }
 }
 closedir($handle);
 sort($arquivos); //AQUI!! :)

 return array($arquivos,count($arquivos));
 } else {
  return NULL;
 }
} else {
 return NULL;
}
}

// Exibe os dados contidos no array $arquivos, quebrando eles em blocos
// de $quantos em $quantos para facilitar na paginação dos mesmos
// Obs.: Não é necessário mexer nesta função.
function exibeLista($arquivos,$quantos=5,$inicio=0) {
for($i=$inicio;$i<($inicio+$quantos);$i++) {
   echo $arquivos[$i];
}
}

// Exibe os links da paginação.
// Obs.: Não é necessário mexer nesta função, a não ser que se
// queira alterar o formato de exibição dos links.
function mostraPaginacao($total,$inicio=0,$quantos=5) {
$paginas = ceil($total/$quantos);

if(($inicio - $quantos) >= 0) {
 // Formato de exibição dos links
 echo "<a href=\"".$_SERVER["PHP_SELF"]."?meio=jpg&inicio=".($inicio-$quantos)."\">Anterior</a>&nbsp;&nbsp;";
} else {
 echo "Anterior&nbsp;&nbsp;";
}

for($i=0;$i<$paginas;$i++){
 // Formato de exibição dos links
   echo "<a href=\"".$_SERVER["PHP_SELF"]."?meio=jpg&inicio=".($i*$quantos)."\">";
   if($inicio == ($i*$quantos))
    echo "<b>".($i+1)."</b>";
 else
  echo ($i+1);
   echo "</a>&nbsp;&nbsp;";
}
if(($inicio + $quantos) < $total) {
 // Formato de exibição dos links
 echo "<a href=\"".$_SERVER["PHP_SELF"]."?meio=jpg&inicio=".($inicio+$quantos)."\">Próxima</a>";
} else 
 echo "Próxima";
}

// Exibe o número $total de arquivos encontrados
// Obs.: Não é necessário mexer nesta função.
function mostraTotal($total) {
echo "Total de arquivos encontrados: <b>$total</b>";
}

// Monta e exibe toda a paginação.
// Obs.: Se quiser exibir tudo de forma diferente, procure
// mexer apenas nesta função. :)
function exibeTudo($diretorio,$inicio,$quantos=5,$extensao=".txt") {
$arquivos = criaLista($diretorio,$extensao);
if($arquivos != NULL) {
 exibeLista($arquivos[0],$quantos,$inicio);
 echo "<br>";
 mostraPaginacao($arquivos[1],$inicio,$quantos);
 echo "<br><br>";
 mostraTotal($arquivos[1]);
} else {
 echo "Houve um erro ao tentar abrir o diretório <b>$diretorio</b>.<br>Por favor, verifique se ele existe.";
}
}

// Sempre coloque isso antes de usar a função exibeTudo
if(!isset($inicio))
$inicio = 0;

// Exemplo de utilização, onde:
// "vestibular/" é o diretório que será lido (ALTERAR)
// $inicio é a variável que vai controlar a paginação (Não alterar)
// 10 é o número de arquivos por página (ALTERAR)
// ".txt" é a extensão dos arquivos que devem ser listados (ALTERAR, se necessário)
// Obs.: Se não forem especificados os dois últimos parâmentros, serão assumidos os
// valores default: 5,".txt"
exibeTudo("imagens/",$inicio,10,".jpg");

?>

[]`s

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...