Jump to content


Photo

Erro Em Script Para Baixar Conteudo, Não Consigo Localizar


  • Faça o login para participar
10 replies to this topic

#1 Crash®

Crash®

    Turista

  • Usuários
  • 39 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 23/11/2009, 14:29

Salve comunidade !!

tenho uma seção em meu site que é para baixar algum material que irei disponibilizar para meus visitantes.
Até ai Ok .. no entanto quando clico no arquivo que vai ser baixdo recebo a seguinte mensagem:

The requested URL /servico/painel/download/down/Modelos/Modelos/modelo.txt was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.


--------------------------------------------------------------------------------

Apache/2.0.63 (Unix) mod_ssl/2.0.63 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4 Server at Port 80

O caminho seria teria que ser: /servico/painel/download/down/Modelos/modelo.txt
Só que esta aparecendo duas vezes o item "Modelos", que na verdade é a pasta onde esta o arquivo a ser baixado.

Estou usando o seguinte script;

<?php 
      
      if($sb == '1'){ 
          $dir = "$path$id_dir"; 
        echo "$dir"; 
    } 
        else 
$dir = getenv('DOCUMENT_ROOT')."/servico/painel/download/down/" .$_GET['id_dir']. "/"; 

function varre($dir,$filtro="",$nivel="") 
{ 
    $diraberto = opendir($dir); 
    chdir($dir); 
    while($arq = readdir($diraberto)) { 
        if($arq == ".." || $arq == ".")continue; 
        $arr_ext = explode(";",$filtro); 
        foreach($arr_ext as $ext) { 
            $vdir = getcwd(); 
            $exdir = explode("/", $vdir); 
            
            $fdir = end($exdir); 
        if(count($exdir)==9) { 
                $fdir = $exdir[7]. "/" .$exdir[8]; 
            }else{ 
                $fdir = end($exdir); 
            } 
        
            $extpos = (strtolower(substr($arq,strlen($arq)-strlen($ext)))) == strtolower($ext); 
           if ($extpos == strlen($arq) and is_file($arq)) 
                if(count($exdir)==7){ 
                print $nivel."<img src=servico/painel/download/ok.gif width=\"13\" height=\"11\"><B><a href='/servico/painel/download/down" .$_GET['id_dir']. "/" .$arq. "'> $arq</a> </B><br>"; 

            }else 
    
                print $nivel."<img src=\"ok.gif\" width=\"13\" height=\"11\"><B><a href='/servico/painel/download/down/" .$_GET['id_dir']. "/" .$fdir. "/" .$arq. "'> $arq</a> </B><br>"; 

        } 
        
        if (is_dir($arq)) { 

            print "<P>"; 
            print $nivel.$arq."<br>"; 
            varre($arq,$filtro,$nivel."    "); 
        } 
    } 
    chdir(".."); 
    closedir($diraberto); 
} 

?> 
<? varre("$dir");  
?> 
Alguém pode me dar uma ajuda já que não manjo de PHP estou quebrando a cabeça a beça com isto ..

Muito obrigado de ante mão e um forte abraço a todos !!


#2 § Kenshin §

§ Kenshin §

    I'm coming back...!

  • Usuários
  • 574 posts
  • Sexo:Masculino
  • Localidade:BA
  • Interesses:Sou fã de linguagens direcionadas para a web, como php, (x)html, xml, wml.
    Também gosto de webdesign e ultimamente tenho me dedicado mais a aprender css, mysql, javascript, ajax e actionscript.
    Trabalho com os programas Dreamweaver, Illustrator e Flash.

Posted 24/11/2009, 10:02

...

           if ($extpos == strlen($arq) and is_file($arq)) 
                if(count($exdir)==7){ 
                print $nivel."<img src=servico/painel/download/ok.gif width=\"13\" height=\"11\"><B><a href='/servico/painel/download/down" .$_GET['id_dir']. "/" .$arq. "'> $arq</a> </B><br>"; 

            }else 
    
                print $nivel."<img src=\"ok.gif\" width=\"13\" height=\"11\"><B><a href='/servico/painel/download/down/" .$_GET['id_dir']. "/" .$fdir. "/" .$arq. "'> $arq</a> </B><br>";
...


Só para ter certeza, este trecho do código está correto, ou teria uma barra em download/down/ no bloco if.
Quanto ao endereço, dos dois blocos, existe mesmo essa diferença?!

download/down" .$_GET['id_dir']. "/" .$arq. "'> $arq</a>
download/down/" .$_GET['id_dir']. "/" .$fdir. "/" .$arq. "'> $arq</a>

Até mais,
Web Developer / Web Designer / Information Architect
"Living to learn... learning to live!"
Useful links: Rules | Search

#3 Crash®

Crash®

    Turista

  • Usuários
  • 39 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 25/11/2009, 09:29

Kenshin descobri parte doproblema se puder me ajudar na solução lhe serei grato pela ajuda;

Até o ponto para abrir a pasta e mostrar o arquivo dentro dela esta OK.

O problema so ocorre quando eu clico sobre o nome para baixar o arquivo que da erro;
por exemplo se quero baixar o conteudo que esta na pasta MODELOS acontece o seguinte;

www.meusite.com.br/servico/painel/download/down/Modelos/Modelos/modelo.txt

Ou seja aparece duas vezs apasta /Modelos/Modelos/
Se eu apagar direto na barra de endereços um e deixar;www.meusit.com.br/servico/painel/download/down/Modelos/modelo.txt

Ai funciona direito, mas eu não estou consegundo encontrar neste script onde mudo isto para ele não duplicar o diretorio.

Vc ou alguem poderia me ajudar a encontrar isto ?

Edição feita por: Crash®, 25/11/2009, 09:35.


#4 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 25/11/2009, 09:36

Nestes 2 prints que você faz, basta fazer um debug imprimindo o endereço que está em href para ver onde está incluindo este "Modelo" que está incorreto.

[]'sAté mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#5 Crash®

Crash®

    Turista

  • Usuários
  • 39 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 25/11/2009, 10:38

Paulo André obrigado por responder ao meu post

Mas como ja informei não manjo de php.. peguei ese script na net e estu tendo este problema vc pode me dizer como posso fazer isto ..
se puder me passar um modelo de coo posso fazer isto serei muito grato

#6 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 25/11/2009, 10:46

if (count($exdir) == 7) {
	print $nivel."<img src=servico/painel/download/ok.gif width=\"13\" height=\"11\"><B><a href='/servico/painel/download/down" .$_GET['id_dir']. "/" .$arq. "'> $arq</a> </B><br>";
	echo "/servico/painel/download/down" . $_GET['id_dir'] . "/" . $arq;
} else {
	print $nivel."<img src=\"ok.gif\" width=\"13\" height=\"11\"><B><a href='/servico/painel/download/down/" .$_GET['id_dir']. "/" .$fdir. "/" .$arq. "'> $arq</a> </B><br>";
	echo "/servico/painel/download/down/" . $_GET['id_dir'] . "/" . $fdir . "/" . $arq;
}

Apenas adicione estas duas linhas de echo e verifique qual será a saída.

[]'sAté mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#7 Crash®

Crash®

    Turista

  • Usuários
  • 39 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 25/11/2009, 12:42

O resultado foi este que o echo retornou :

/servico/painel/download/down/Modelos/Modelos/Modelo.txt

#8 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 25/11/2009, 12:48

Então neste endereço há algo errado. :ponder:

Próximo teste então, faça:

if (count($exdir) == 7) {
        print $nivel."<img src=servico/painel/download/ok.gif width=\"13\" height=\"11\"><B><a href='/servico/painel/download/down" .$_GET['id_dir']. "/" .$arq. "'> $arq</a> </B><br>";
        echo $_GET['id_dir'] . "/" . $arq;
} else {
        print $nivel."<img src=\"ok.gif\" width=\"13\" height=\"11\"><B><a href='/servico/painel/download/down/" .$_GET['id_dir']. "/" .$fdir. "/" .$arq. "'> $arq</a> </B><br>";
        echo $_GET['id_dir'] . "/" . $fdir . "/" . $arq;
}

[]'sAté mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#9 Crash®

Crash®

    Turista

  • Usuários
  • 39 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 25/11/2009, 12:50

Ficou assim:

Modelos/Modelos/Modelo.txt

#10 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 25/11/2009, 13:05

Olha, na verdade está sendo difícil entender o que esta função faz. Se você puder explicar detalhadamente posso tentar fazer uma outra função.

Por ora, teste esse código:

if (count($exdir) == 7) {
        print $nivel."<img src=servico/painel/download/ok.gif width=\"13\" height=\"11\"><B><a href='/servico/painel/download/down" .$_GET['id_dir']. "/" .$arq. "'> $arq</a> </B><br>";
} else {
        print $nivel."<img src=\"ok.gif\" width=\"13\" height=\"11\"><B><a href='/servico/painel/download/down/" .$_GET['id_dir']. "/" .$arq. "'> $arq</a> </B><br>";
}

[]'sAté mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#11 Crash®

Crash®

    Turista

  • Usuários
  • 39 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 25/11/2009, 13:13

Paulo André agora esta funcionando !!!!!!!!!!!!

Muito obrigado mesmo !!!!!

Você pode me explicar o que estava errado ??

Vou tentar explicar a você;

Eu preciso de ter uma area restrita no meu site que eu mesmo tenha que cadastrar o meu visitante (cliente)
Passando para a area restrita;
Ja logado o visitante ira para uma pagina onde ira escolher a pasta que quer abrir ex.
1 - Modelos
2 - Formularios
3 - aruivos

escolhendo uma destas, ja dentro de uma destas ele escolhe clic e abre ou baixa o arquivo

Como não serei apenas eu para colocar os arquivos precisava de um script que lesse o conteudo da pasta e mostrasse e assim eu so tenho que mandar o arquivo apra a pasta e o script faz o resto para mim ..

Sera que deu para entender ????




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq