Ir para conteúdo
lerdofphp

Como criar uma lista com nome de arquivos dentro de uma pasta, usando JavaScript e HTML?

Recommended Posts

Pessoal, 

 

Tenho uma pasta com arquivos de texto com datas e gostaria de criar uma lista automática com eles apenas usando HTML e JavaScript isso seria possível?

 

A ideia é que o script realize a pesquise dos arquivos existente na pasta e cria-se o SELECT em HTML.

 

Exemplo:

Pasta: paginas

Arquivos:

- Arquivo-12-07.txt
- Arquivo-13-07.txt
- Arquivo-14-07.txt

 

Resultado Esperado:

 

<select>
  <option value="Arquivo-12-07.txt">Arquivo-12-07.txt</option>
  <option value="Arquivo-13-07.txt">Arquivo-13-07.txt</option>
  <option value="Arquivo-14-07.txt">Arquivo-14-07.txt</option>
</select>

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha cara, ler arquivos diretamente com javascript eu não conheço como, se alguém souber me avisa que eu também me interesso!

 Mas o que você pode fazer é fazer uma chamada ajax para o diretório dos arquivos, e se o servidor for Apache e estiver com Directory Listing ligado para aquele diretório, ele vai retornar uma página listando os arquivos e subdiretórios, dai então você pode percorrer o html retornado e ir pescando o nome dos arquivos. 

Aqui a documentação do Apache que fala do Directory Listing (que a grosso modo é aquela página que você vê quando não tem um arquivo index dentro da pasta): https://wiki.apache.org/httpd/DirectoryListings

Não sei se tem essa opção em outros servidores com nginx ou IIS.  Abç

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ótima sugestão do recurso nativo do Apache, @Klawztro.

 

10 minutos atrás, Klawztro disse:

Olha cara, ler arquivos diretamente com javascript eu não conheço como, se alguém souber me avisa que eu também me interesso!

Se estivermos falando do JS rodando no cliente/navegador, não é possível, pois isso abriria uma brecha de segurança enorme.

É possível ter acesso somente aos arquivos do servidor, independentemente da linguagem utilizada (js ou php por exemplo).

 

Há várias formas de listar diretórios com o PHP, mas as primeiras que eu iria sugerir são essas:

- glob: http://php.net/manual/pt_BR/function.glob.php

- DirectoryIterator: https://secure.php.net/manual/pt_BR/class.directoryiterator.php

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 15/07/2018 at 18:19, Klawztro disse:

Olha cara, ler arquivos diretamente com javascript eu não conheço como, se alguém souber me avisa que eu também me interesso!

 Mas o que você pode fazer é fazer uma chamada ajax para o diretório dos arquivos, e se o servidor for Apache e estiver com Directory Listing ligado para aquele diretório, ele vai retornar uma página listando os arquivos e subdiretórios, dai então você pode percorrer o html retornado e ir pescando o nome dos arquivos. 

Aqui a documentação do Apache que fala do Directory Listing (que a grosso modo é aquela página que você vê quando não tem um arquivo index dentro da pasta): https://wiki.apache.org/httpd/DirectoryListings

Não sei se tem essa opção em outros servidores com nginx ou IIS.  Abç

 

Obrigado pelo apoio!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por cauai
      Olá,
      Eu estou tentando criar uma lista de vendedores que irão receber o contato de clientes através do meu site. É uma plataforma wordpress, porém tenho completo acesso ao código php.
      Até agora, só achei maneiras de enviar para múltiplos e-mails, como cópia, ou separando por departamento à escolha do cliente, utilizando o Contact Form 7, o que não é meu desejo.
      Quero algo como isso:
       
      Não sei se o Contact Form 7 me permitiria algo desse tipo, ou se teria mesmo que fazer pelo php. Mas aceito ajuda para ambos os casos.
    • Por clickanapolis
      Pessoal peguei esse codigo de auto somar valor com quantidade na internet e não estou conseguindo ajustar ele.
       
      Ate que no total eu consegui incluir 2 casas decimais.
       
      Mais no subtotal não, e alem disso gostaria de colocar ele com extensão em moeda real o valor tipo:
       
      1500 para 1.500,00
       
      como eu faria:
       
      <script type="text/javascript"> $(window).load(function(){ function id( el ){ //return document.getElementById( el ); return $( el ); } function calcTotal( un01, qnt01 ) { return un01 * qnt01; } function getElementParent(event){ return event.srcElement.parentNode.parentNode.getAttribute('id'); } function getValorUnitario(elParent){ return $('#'+elParent+' .class_unit input').val(); } function getQuantidade(elParent){ return $('#'+elParent+' .class_quant input').val(); } function setFieldTotal(elParent, valueUnit, valueQuant){ id('#'+elParent+' .class_total input').val(calcTotal( valueUnit , valueQuant)); setTotalFinal(); } function setTotalFinal(){ var total = 0; $('#table-shop tr .class_total input').each(function(){ if(this.value != ''){ var valor = this.value; total += parseFloat(valor); } }); $('#total .value_total').html(total.toFixed(2)); $('#total .value_total').val(total.toFixed(2)); } $(document).ready(function(){ id('#table-shop tr .class_unit').keyup(function(event) { var elemenPai = getElementParent(event); var valueUnit = getValorUnitario(elemenPai); var valueQuant = getQuantidade(elemenPai); setFieldTotal(elemenPai, valueUnit , valueQuant); }); id('#table-shop tr .class_quant').keyup(function(event) { var elemenPai = getElementParent(event); var valueUnit = getValorUnitario(elemenPai); var valueQuant = getQuantidade(elemenPai); setFieldTotal(elemenPai, valueUnit , valueQuant); }); }); }); </script>  
    • Por Ricardo Beira
      Boa tarde.
       
      Sou bem leigo em php, sei o básico do básico e preciso muito de ajuda.
      Preciso enviar 1000 emails, porém queria dividir os envios de 50 por vez.
      Queria um campo onde ecolocava os 1000 emails ou importando de um txt e ele fizesse o processo de envio de 50-50 automaticamente.
       
    • Por D@nielle
      Olá.
      Estou com dificuldade para trocar a imagem do menu conforme passa o mouse. Criei uma função no javascript para isto, porém não encontro o erro no código.
      Segue o codigo; 
       
      <!DOCTYPE html>
      <html lang="pt-br">
      <head>
      <meta charset"UTF-8"/>
      <title> Tudo sobre Google Glass</title>
      <link rel="stylesheet" type="text/css" href="_css/estilo.css"/>
      </head>
      <script>
      function mudaFoto(foto){
      document.getElementByID("icone").src = foto;
      }
      </script>
      <body>
      <div id="interface">
      <header id="cabecalho">
      <hgroup>
      <h1>Google Glass</h1>
      <h2>A revolução do Google está chegando</h2>
      </hgroup>
      <img id="icone"src="_imagens/glass-oculos-preto-peq.png" alt="google glass">
      <nav id="menu">
      <h1>Menu Principal</h1>
      <ul>
      <li onmouseover="mudaFoto('_imagens/home.png')"><a href="index.html">Home</a></li>
      <li onmouseover="mudaFoto('_imagens/especificacoes.png')"><a href="specs.html">Especificações</a></li>   
       
      A ideia é trocar a imgem de id="icone" por uma imagem do meu arquivo (como está descrito acima) ao passar o mouse. 
      Obrigada
       
       
    • Por Kelly Ferracine
      Adcionei um relógio no site, mas quando atualizo a pagina ele some e logo aparece, isso ta causado problema, pois a div abaixo sobe fazendo ficando esquisito, alguém poderia me ajudar?? Agradeço a atenção
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.