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

Listar arquivos como links abrindo em nova janela e mais...


GiSP

Pergunta

Boa noite pessoal, estou com uma dúvida e gostaria da ajuda dos mais experientes se possível.

Eu tenho um diretório com vários arquivos, mas quero listá-los, mas mostrando apenas os que possuem a extensão ".txt" por exemplo.

Até aí pesquisei bastante e encontrei um código que consegue fazer isto sem problemas.

Abaixo o script lista os arquivos, esconde os que possuem outras extensões e exibe apenas os que tem extensão ".txt" como eu queria e exibe eles como links:

<?

// Define um array para armazenar os arquivos

$files = array();

// Diretório atual

$d = dir('.');

// Percorre todos os arquivos

while(false !== ($file = $d->read())){

// Se o arquivo não é este arquivo, e não começa com "." ou "~"

// e não termina em LCK, então guarde-o para exibição futura.

if(($file{0} != '.') && ($file{0} != '~') &&

(substr($file, -3) != 'LCK') && (substr($file, -3) != 'php') && (substr($file, -3) != 'jpg') &&

(substr($file, -3) != 'png') && (substr($file, -3) != 'gif') &&

($file != basename($_SERVER['PHP_SELF'])) ) {

// Guarda o nome do arquivo e dados completos de uma chamada

// à stat()

$files[$file] = stat($file);

}

}

// Fecha o diretório

$d->close();

// Agora vamos exibir o resultado em uma tabela

echo '<style>td { padding-right: 10px; }</style>';

echo '<table><caption>Conteúdo deste diretório:</caption>';

// Ordenar os arquivos em ordem alfabética

ksort($files);

// Definir o horário brasileiro:

date_default_timezone_set('Brazil/East');

// Percorremos os arquivos, exibindo uma nova linha na tabela

// para cada um deles.

foreach ($files as $name => $stats) {

//$name = preg_replace('/\.[^.]*$/', '', $name); (aqui tentei fazer com que o arquivo aparecesse sem a extensão, funcionou, mas se clicar no link depois, não encontra nada)

// Inicia a linha e exibe um link com o nome do arquivo

echo "<tr><td><a href=\"{$name}\">{$name}</a></td>\n";

// Uma célula com o tamanho do arquivo

echo "<td align='right'>{$stats['size]}</td>\n";

// Uma coluna com a data de criação do arquivo

echo '<td>', date('d/m/Y h:ia', $stats['mtime']), "</td></tr>\n";

}

echo '</table>';

?>

Daí em diante começa o meu problema!

O código exibe os arquivos que eu quero como links, mas mostra a extensão e eu queria que não mostrasse, deixando apenas o nome do arquivo.

Onde eu comentei em vermelho eu tentei fazer com que não mostre a extensão e deu certo, mas quando você clica no link, dá erro pois como o link criado é sem extensão nenhuma, não existe no servidor e aí dá uma página de erro.

O que eu queria conseguir fazer é o seguinte:

Listar os arquivos, somente com as extensões que eu quero - isso já deu certo

Listar os arquivos e exibir em forma de links - isso já deu certo

Listar os arquivos, escondendo a extensão, deixando só o nome do arquivo - isso não deu certo ainda

Exibir o arquivo, sem a extensão, em forma de link e abrindo em uma nova janela quando for clicado isso não deu certo ainda

Esta seria a primeira parte.

Conseguindo fazer isto, eu gostaria da ajuda de vocês para o seguinte:

Os arquivos que vão aparecer na listagem, são todos ".txt".

Com vários campos de texto em cada um deles.

Então, eu queria fazer com que ao clicar no link gerado, a nova página que abrisse, pegasse os dados deste txt que foi clicado, mas exibisse os dados dele por exemplo, da 10ª linha em diante.

Sei que da pra fazer isso mas não sei como fazer.

Então é isso se alguém puder dar uma forcinha nisso eu fico agradecida.

Editado por GiSP
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

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,3k
    • Posts
      652,1k
×
×
  • Criar Novo...