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

Manipulação De Ficheiros


João Dias

Pergunta

Boas, eu tenho o código abaixo que tirei de um site, mas gostaria que me ajudassem:

O problema é o seguinte, eu quero que ele leia apenas determinada pasta, estando como está neste momento ele lê-me todas aspastas existentes no servidor, mas não é isso que pretendo.

Este código é muito bom pois deixa que se mexa nos ficheiros.

Por debaixo vou colocar outro código que já lê determinada pasta, mas eu não consigo fazer com que me dê os links dos ficheiros.

<?php


function showContent($path){


   if ($handle = opendir($path))
   {
       $up = substr($path, 0, (strrpos(dirname($path."/."),"/")));

       while (false !== ($file = readdir($handle)))
       {
           if ($file != "." && $file != "..")
           {
               $fName = $file;
               $file = $path.'/'.$file;
               if(is_file($file)) {
                   echo "<tr><td><img src='style/file2.gif' width='16' height='16' alt='file'/> <a href='".$file."'>".$fName."</a></td>"
                            .""
                            ."";
               } elseif (is_dir($file)) 
               {
                   print "<tr><td colspan='2'><img src='style/dir2.gif' width='16' height='16' alt='dir'/> <a href='".$_SERVER['PHP_SELF']."?path=$file'>$fName</a></td></tr>";
               }
           }
       }

       closedir($handle);
   }    

}

if (isset($_POST['submitBtn'])){
    $actpath = isset($_POST['path']) ? $_POST['path'] : '.';    
} else {
    $actpath = isset($_GET['path']) ? $_GET['path'] : '.';    
}


?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html>
<head>
   <title></title>
   <link href="style/style.css" rel="stylesheet" type="text/css" />
</head>
<body>

        <table width="100%">
<?php
            showContent($actpath);        
?>
        </table>
     </div>
    <div id="source"></div>
    </div>
</body>   
Este já lê a pasta que desejo, mas não consigo fazer download dos ficheiros.
<?php
   $mydir = dir('c:/apache/htdocs/legendas/');
   while(($file = $mydir->read()) !== false) {
      echo "$file<BR>";
      
   }
?>

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Bem já consegui que me deixa-se fazer o download dos ficheiros:

Alterei o echo pelo print que está em baixo.

<?php
   $mydir = dir('c:/apache/htdocs/tutoriais/');
   while(($file = $mydir->read()) !== false) {
      
      
                   print "<img src='style/dir2.gif' width='16' height='16' alt='dir'/> <a href='tutoriais/$file'>$file</a><br>";
               }
      
   
?>

Mas agora tenho um problema, ele lista-me mais dois ficheiros que não existem o .. e o .

heltonritter, a função que indicas mostra o conteudo tal como a função que tenho.

Link para o comentário
Compartilhar em outros sites

  • 0

Sim, na verdade o ".." e o "." sáo links...

para voltar (navegar) um diretório antes e o ponto (.) para atualizar este.. faz assim:

<?php
   $mydir = dir('c:/apache/htdocs/tutoriais/');
   while(($file = $mydir->read()) !== false) {
      if ($file!='.' and $file!='..'){
      
                   print "<img src='style/dir2.gif' width='16' height='16' alt='dir'/> [url="tutoriais/$file"]$file[/url]
";
} // fim do if que testa se é link
               } // fim do loop
      
   
?>

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
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...