abobre 0 Denunciar post Postado Dezembro 31, 2007 Boa tarde, Estou utilizando um script que faz a leitura de um diretório incluindo pastas e arquivos, porem quando eu abro um diretório o visual que montei para o script some e fica a padrão do sistema ( windows ou linux ) Veja as imagens: A imagem abaixo mostra a interface montada com as pastas e arquivos, podemos observar que as duas primeiras linhas são as pastas que tenho no diretório, até essa parte esta tudo ótimo... Veja a segunda imagem ! Nessa segunda imagem é onde eu estou com problema, após eu clicar em um das duas pastas ele abre o diretório e o visual do script muda para o padrão do windows ou linux. Veja a imagem abaixo: Eu preciso que ao abrir um subdiretório o visual do script permaneça e não mude ! Segue o script que estou utilizando: <html> <head> <title></title> <style type="text/css"> #todoform { font:12px arial, verdana, helvetica, sans-serif; border-top:1px solid #C5C5C5; border-left:1px solid #C5C5C5; border-right:1px solid #C5C5C5; border-bottom:1px solid #C5C5C5; border-collapse:collapse; color:#666666; } #todoform th { background:#0C83DA; padding:3px; font: bold 15px arial, verdana, helvetica, sans-serif; border-bottom:1px solid #FFFFFF; } #todoform td { padding:3px; } </style> </head> <body> <div align="center"> <?php $diretorio = getcwd(); $ponteiro = opendir($diretorio); $pasta = opendir($listar); while (false !== ($nome_itens = readdir($ponteiro))) { $itens[] = $nome_itens; } sort($itens); foreach ($itens as $listar) { if ($listar!="." && $listar!=".."){ if (is_dir($listar))//maldito parênteses { $pastas[]=$listar; $pastas_local[]=$listar1; } else{ $arquivos[]=$listar; } } } if ($pastas != "" ) { foreach($pastas as $listar){ echo "<table width='35%' border='1' cellspacing='1' cellpadding='1' id='todoform'><tr><td width='10%'><img src='folder1.png' border='0'></td><td width='40%'>$listar</td><td width='20%'><a href='$listar'>Abrir</a></td></tr></table>";} } if ($arquivos != "") { foreach($arquivos as $listar){ echo "<table width='35%' border='1' cellspacing='1' cellpadding='1' id='todoform'><tr><td width='10%'><img src='foder2.png' border='0'></td><td width='40%'>$listar</td><td width='20%'><a href='$listar'>Download</a></td></tr></table>";} } ?> </div> </body> </html> Obs: Esse script não foi eu que montei, apenas editei ele conforme a minha necessidade ! Desejo a todos um feliz ano novo ! Desde já agradeço a todos Compartilhar este post Link para o post Compartilhar em outros sites
Dórian Conde Langbeck 0 Denunciar post Postado Janeiro 1, 2008 <?php $dir = isset($_GET["dir"]) ? base64_decode($_GET["dir"]) : "./"; $ponteiro = opendir($dir); $pasta = opendir($listar); while (false !== ($nome_itens = readdir($ponteiro))) { $itens[] = $nome_itens; } sort($itens); foreach ($itens as $listar) { if ($listar!="." && $listar!=".."){ if (is_dir($listar))//maldito parênteses { $pastas[]=$listar; $pastas_local[]=$listar1; } else{ $arquivos[]=$listar; } } } if ($pastas != "" ) { foreach($pastas as $listar){ echo "<table width='35%' border='1' cellspacing='1' cellpadding='1' id='todoform'><tr><td width='10%'><img src='folder1.png' border='0'></td><td width='40%'>$listar</td><td width='20%'><a href='?dir=".base64_encode($listar)."'>Abrir</a></td></tr></table>";} } if ($arquivos != "") { foreach($arquivos as $listar){ echo "<table width='35%' border='1' cellspacing='1' cellpadding='1' id='todoform'><tr><td width='10%'><img src='foder2.png' border='0'></td><td width='40%'>$listar</td><td width='20%'><a href='".urlencode($listar)."'>Download</a></td></tr></table>";} } ?> 3 modificações foram feitas no codigo: 1. passou a ser requisitado qual diretorio vai ser listado atraves da variavel $dir, na condição de que, caso ela naum tenha sido declarada, ela assume o valor para o diretorio atual... consequentemente a variavel $diretorio q existia no começo do codigo, ficou sem uso e foi eliminada... 2. os links para abrir os diretorios passaram a usar os nomes das pastas para base64 antes de enviar (por segurança, apesar de naum adiantar muito) 3. os links para download direto dos documentos, passaram a usar a funçao urlencode() pra evitar certos erros... so isso... Compartilhar este post Link para o post Compartilhar em outros sites
abobre 0 Denunciar post Postado Janeiro 1, 2008 Bom dia Dórian, tudo bem ? Obrigado por estar me auxiliando cara, eu não domino o PHP !!! Eu testei o script cara e ficou bacana, eu gostei das modificaçõs que você fez, ainda mais a que está usando a base64, porem cara eu encontrei "dois erros" Uma que ele não está mais fazendo o download de arquivos que contem espaços, exemplo:( forum imasters.rar ) , ele me retorna o erro informando que o arquivo não existe A outra que quando eu abro um subdiretório e vou fazer o download de qualquer arquivo até mesmo abriu outro subdiretório ele me retorna com o erro dizendo que o arquivo ou diretório não existe Como posso resolver esse problema ? Compartilhar este post Link para o post Compartilhar em outros sites
Marlon Souza 0 Denunciar post Postado Janeiro 2, 2008 qual a possibilidade de fazer isso com um servidor remoto. usabilidade, tenho meus arquivos em meu servidor e quero acessar eles, sem ter que ficar andando com o pendrive ja que a empresa possui sistema de ftp dedicado e nao tenho a senha, quando quero fazer alguma modificacao temos que mandar os arquivos pro servidor e la eles sobem. ou seja, nao tenho o acesso ao fonte e quero ter em minha casa, sem precisar levar o pendrive. Compartilhar este post Link para o post Compartilhar em outros sites
Dórian Conde Langbeck 0 Denunciar post Postado Janeiro 2, 2008 abobre estarei implementado as correções e depois eu posto aqui... eu tava ta casa de parentes, usando o bloco de notas, e com muito sono... malz aew... Marlon Souza explique melhor a sua necessicade... naum entendi muito bem... Feliz ano novo pra vcs ^^ Compartilhar este post Link para o post Compartilhar em outros sites
Marlon Souza 0 Denunciar post Postado Janeiro 2, 2008 Dórian, Feliz ano Novo, pra você e para todos que estao lendo o post. minha duvida é a seguinte. colocar como no script colocar uma url e ao invez do browser carregar a url, mostrar o codigo fonte do php, ou fazer o download. Se em um servidor ha um arquivo.JS e você sabe o caminho, por exemplo diretorio xyz, você digita www.dominio.com/xyz/ em alguns sites aparece o conteudo do diretorio. Quero fazer o download de um PHP, no caso do JS, basta setar o nome do arquivo.js ou se aparecer na tela o conteudo do diretorio, so fazer o download, ja o php nao tem como qdo clica o browser executa. seria a mesma coisa do script so que ao inves de ser no meu localhost/diretorio, ou seja onde esse arquivo esta salvo, quero digitar a url e fazer o download. Acho meio impossivel. Ja tentei com uma funcao do php nao lembro qual mais o server é bloqueado. Só para frisar, é para a funcao do sms. Compartilhar este post Link para o post Compartilhar em outros sites
Dórian Conde Langbeck 0 Denunciar post Postado Janeiro 3, 2008 estou desenvolvendo um gerenciador ao estilo eu acredito q vcs estejem precisando... aguarde... Compartilhar este post Link para o post Compartilhar em outros sites
Dórian Conde Langbeck 0 Denunciar post Postado Janeiro 3, 2008 ta aew... criei o codigo com as correções e as exigencias do Marlon Souza... Tópico Tenho (quase) toda a certeza q os dois vão aprovar ;) Compartilhar este post Link para o post Compartilhar em outros sites
Marlon Souza 0 Denunciar post Postado Janeiro 3, 2008 Dórian, é quase isso, em sintese é isso mesmo, so que eu quero selecionar a pasta atraves da url, tipo www.site.com.br/diretorio, ai seta os dados do diretorio, como em um iis aberto, e a possibilidade de fazer o download dos php's. mais o script ficou show. Eu ja tentei usar o fOpen para abrir o php sem executar o script, mais nao deu certo. Como devo proseguir? Compartilhar este post Link para o post Compartilhar em outros sites
Dórian Conde Langbeck 0 Denunciar post Postado Janeiro 3, 2008 naum tem como, a nao ser q você tenha acesso através da FTP do site... naum tem como, a nao ser q você tenha acesso através da FTP do site... Compartilhar este post Link para o post Compartilhar em outros sites
abobre 0 Denunciar post Postado Janeiro 3, 2008 Boa noite Dórian , Cara seu script ficou show de bola , gostei de tudo dele cara... Parabéns mesmo. Porem preciso de uma ultima ajuda sua, que ficou faltando no script: O lance do download e de ir ao um diretório adiante e voltar um diretório, porem sempre parando no diretório root. Ele deve ficar que nem esta no meu script que coloquei no primeiro post ! Parabéns cara, você deve ser um grande profissional ! Obs: Hoje comprei um livro basico de PHP no site da digerati, pra começar a estudar ! O que você me recomenda pra aprender a programar em PHP cara ? Abraço cara bom termino de semana ! Compartilhar este post Link para o post Compartilhar em outros sites