Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

crawler

acessar subpastas

Recommended Posts

E ai pessoal...beleza!!

 

To montando um sisteminha que lista as pastas/arquivos e subpastas/arquivos de um servidor

e eu procurei varios scripts na net, mas naum achei um que servisse de exemplo, por isso to desenvolvendo

esse sisteminha, mas soh faltou uns detalhes básicos para funfar...e gostaria que vcs me dessem umas sugestões

vejam o trecho da pagina pricipal que acessa o conteúdo das pastas:


 

$resultadox = mysql_query($sqlx);

 

$acesso = mysql_fetch_array($resultadox);

 

 

 

if ($acesso[acesso] == "Administrador") {

 

 

 

?> _linenums:0'><?phprequire("valida.php");require("conecta.php");$sql = "SELECT * FROM upload";$resultado = mysql_query($sql);$usuario_atual = $_SESSION["nome_usuario"];$sqlx = "SELECT * FROM upload WHERE usuario='$usuario_atual'";$resultadox = mysql_query($sqlx);$acesso = mysql_fetch_array($resultadox);if ($acesso[acesso] == "Administrador") {?>

aqui dentro da tabela na mesma pagina

<?php 				while ($linha = mysql_fetch_array($resultado)){								if ($linha[acesso] ==  "Administrador") {					  print "<tr bgcolor=\"#E9E9E9\">";				  print "<td><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\"> $linha[nome]</font></td>";                  print "<td><div align=\"center\"><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">$linha[email]<br></font></div></td>";                  print "<td><div align=\"center\"><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">$linha[acesso]</font></div></td>";				  print "<td><div align=\"center\"><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\"> - </font></div></td>";                  print "<td><div align=\"center\"><a href=\"alterar.php?id=$linha[id]\"><img src=\"imagens/alterar.gif\" width=\"32\" height=\"32\" border=\"0\"></a></div></td>";                  print "<td><div align=\"center\"><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\"> - </font></div></td>";                  } else {				   print "<tr bgcolor=\"#E9E9E9\">";				  print "<td><a href=\"conteudo.php?id=$linha[id]\"><img src=\"imagens/index_pasta.JPG\" width=\"17\" height=\"14\" border=\"0\"><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\"> $linha[nome]</font></a></td>";                  print "<td><div align=\"center\"><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">$linha[email]<br></font></div></td>";                  print "<td><div align=\"center\"><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">$linha[acesso]</font></div></td>";				  print "<td><div align=\"center\"><a href=\"upload.php?id=$linha[id]\"><img src=\"imagens/seta.jpg\" width=\"23\" height=\"27\" border=\"0\"></a></div></td>";                  print "<td><div align=\"center\"><a href=\"alterar.php?id=$linha[id]\"><img src=\"imagens/alterar.gif\" width=\"32\" height=\"32\" border=\"0\"></a></div></td>";                  print "<td><div align=\"center\"><a href=\"deletar.php?id=$linha[id]\"><img src=\"imagens/sair.gif\" width=\"16\" height=\"16\" border=\"0\"></a></div></td></tr>";				  }				  }				  ?>

 

agora eu vou mostrar o codigo contido em conteudo.php que vai acessar o subconteudo:


$resultado = mysql_query($sql);

 

$linha = mysql_fetch_array($resultado);

 

$usuario_atual = $_SESSION["nome_usuario"];

 

$sqlx = "SELECT * FROM upload WHERE usuario='$usuario_atual'";

 

$resultadox = mysql_query($sqlx);

 

$acesso = mysql_fetch_array($resultadox);

 

if ($acesso[acesso] == "Administrador") {

 

?> _linenums:0'><?phprequire("valida.php");require("conecta.php");require("config.php");$id = $_GET["id"];$sql = "SELECT * FROM upload WHERE id='$id'";$resultado = mysql_query($sql);$linha = mysql_fetch_array($resultado);$usuario_atual = $_SESSION["nome_usuario"];$sqlx = "SELECT * FROM upload WHERE usuario='$usuario_atual'";$resultadox = mysql_query($sqlx);$acesso = mysql_fetch_array($resultadox);if ($acesso[acesso] == "Administrador") {?>

 

dentro da tabela:


 

<td bgcolor=\"#E9E9E9\"><div align=\"center\"><a href=\"deletar_arq.php?arquivo=$linha[usuario]/$listar\"><img src=\"imagens/sair.gif\" width=\"16\" height=\"16\" border=\"0\"></a></div></td></tr>";}

}

 

if (empty($arquivos)){

echo "<tr><td bgcolor=\"#E9E9E9\"><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Não existem arquivos<br></font></td></tr>";

 

} else {

foreach($arquivos as $listar){// lista os arquivos

 

 

 

echo "<tr><td bgcolor=\"#E9E9E9\"><a href='$path/".$linha[usuario]."/$listar' target=\"_blank\"><img border=0 src='imagens/index_arq.JPG'>$listar</a><br></td>

 

<td bgcolor=\"#E9E9E9\"><div align=\"center\"><a href=\"deletar_arq.php?arquivo=$linha[usuario]/$listar\"><img src=\"imagens/sair.gif\" width=\"16\" height=\"16\" border=\"0\"></a></div></td></tr> ";

 

}

}

 

echo "<tr>

 

<td bgcolor=\"#E9E9E9\"> </td>

 

</tr>

 

</table>";

 

?>

_linenums:0'><?php echo "<table width=\"50%\" border=\"1\" align=\"center\" cellpadding=\"0\" bordercolor=\"#FFFFFF\" cellspacing=\"0\"> <tr> <td bgcolor=\"#333333\"><div align=\"center\"><strong><font color=\"#FFFFFF\" size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Arquivos Disponíveis</font></strong></div></td> </tr> <tr> <td bgcolor=\"#E9E9E9\"> </td> <td bgcolor=\"#E9E9E9\"><strong><font color=\"#333333\" size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Deletar</font></strong></td> </tr>"; $connection = ftp_connect($host,21) or die("erro de conexao FTP<hr>"); // connection ftp_login($connection, $user, $pass); ftp_chdir($connection,"public_html/online/diretorio/$linha[usuario]");$diretorio = $path.$linha[usuario];$ponteiro = opendir($diretorio); // ponteiro que ira percorrer a pastawhile ($nome_itens = readdir($ponteiro)) { // monta o vetor com os itens da pasta $itens[] = $nome_itens;}sort($itens); // ordena o vetor de itensforeach ($itens as $listar) { //percorre o vetor para fazer a separacao entre arquivos e pastas if ($listar!="." && $listar!=".."){ // retira os itens "./" e "../" para que retorne apenas pastas e arquivos if (file_exists($listar)) { // checa se é um arquivo $arquivos[]=$listar; // caso VERDADEIRO adiciona o item ao vetor de arquivos } else{ $pastas[]=$listar;// caso FALSO adiciona o item ao vetor de pastas } }} if (empty($pastas)){echo "<tr><td bgcolor=\"#E9E9E9\"><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Não existem pastas<br></font></td></tr>"; } else {foreach($pastas as $listar){// lista as pastas echo "<tr><td bgcolor=\"#E9E9E9\"><a href='subconteudo.php?caminho=$listar' ><img border=0 src='imagens/index_pasta.JPG'>$listar</a><br></td> <td bgcolor=\"#E9E9E9\"><div align=\"center\"><a href=\"deletar_arq.php?arquivo=$linha[usuario]/$listar\"><img src=\"imagens/sair.gif\" width=\"16\" height=\"16\" border=\"0\"></a></div></td></tr>";} } if (empty($arquivos)){echo "<tr><td bgcolor=\"#E9E9E9\"><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Não existem arquivos<br></font></td></tr>";} else {foreach($arquivos as $listar){// lista os arquivos echo "<tr><td bgcolor=\"#E9E9E9\"><a href='$path/".$linha[usuario]."/$listar' target=\"_blank\"><img border=0 src='imagens/index_arq.JPG'>$listar</a><br></td> <td bgcolor=\"#E9E9E9\"><div align=\"center\"><a href=\"deletar_arq.php?arquivo=$linha[usuario]/$listar\"><img src=\"imagens/sair.gif\" width=\"16\" height=\"16\" border=\"0\"></a></div></td></tr> ";}}echo "<tr> <td bgcolor=\"#E9E9E9\"> </td> </tr></table>";?>

Agora finalmente a pagina que está com erro, o subconteudo.php:


 

<td bgcolor=\"#E9E9E9\"><div align=\"center\"><a href=\"deletar_arq.php?arquivo=$linha[usuario]/$listar\"><img src=\"imagens/sair.gif\" width=\"16\" height=\"16\" border=\"0\"></a></div></td></tr>";}

}

 

if (empty($arquivos)){

echo "<tr><td bgcolor=\"#E9E9E9\"><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Não existem arquivos<br></font></td></tr>";

 

} else {

foreach($arquivos as $listar){// lista os arquivos

 

 

 

echo "<tr><td bgcolor=\"#E9E9E9\"><a href='diretorio/".$linha[usuario]."/$listar' target=\"_blank\"><img border=0 src='imagens/index_arq.JPG'>$listar</a><br></td>

 

<td bgcolor=\"#E9E9E9\"><div align=\"center\"><a href=\"deletar_arq.php?arquivo=$linha[usuario]/$listar\"><img src=\"imagens/sair.gif\" width=\"16\" height=\"16\" border=\"0\"></a></div></td></tr> ";

 

}

}

 

echo "<tr>

 

<td bgcolor=\"#E9E9E9\"> </td>

 

</tr>

 

</table>";

 

?> _linenums:0'><?php echo "<table width=\"50%\" border=\"1\" align=\"center\" cellpadding=\"0\" bordercolor=\"#FFFFFF\" cellspacing=\"0\"> <tr> <td bgcolor=\"#333333\"><div align=\"center\"><strong><font color=\"#FFFFFF\" size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Arquivos Disponíveis</font></strong></div></td> </tr> <tr> <td bgcolor=\"#E9E9E9\"> </td> <td bgcolor=\"#E9E9E9\"><strong><font color=\"#333333\" size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Deletar</font></strong></td> </tr>"; $connection = ftp_connect($host,21) or die("erro de conexao FTP<hr>"); // connection ftp_login($connection, $user, $pass); ftp_chdir($connection,"public_html/online/diretorio/$linha[usuario]");$diretorio = "public_html/online/diretorio/$linha[usuario]";//$diretorio = getcwd(); // pega o endereco do diretorio$ponteiro = ($diretorio."/".$caminho); // ponteiro que ira percorrer a pastawhile ($nome_itens = readdir($ponteiro)) { // monta o vetor com os itens da pasta $itens[] = $nome_itens;}sort($itens); // ordena o vetor de itensforeach ($itens as $listar) { //percorre o vetor para fazer a separacao entre arquivos e pastas if ($listar!="." && $listar!=".."){ // retira os itens "./" e "../" para que retorne apenas pastas e arquivos if (file_exists($listar)) { // checa se é um arquivo $arquivos[]=$listar; // caso VERDADEIRO adiciona o item ao vetor de arquivos } else{ $pastas[]=$listar;// caso FALSO adiciona o item ao vetor de pastas } }} if (empty($pastas)){echo "<tr><td bgcolor=\"#E9E9E9\"><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Não existem pastas<br></font></td></tr>"; } else {foreach($pastas as $listar){// lista as pastas echo "<tr><td bgcolor=\"#E9E9E9\"><a href='$path/".$linha[usuario]."/$listar' ><img border=0 src='imagens/index_pasta.JPG'>$listar</a><br></td> <td bgcolor=\"#E9E9E9\"><div align=\"center\"><a href=\"deletar_arq.php?arquivo=$linha[usuario]/$listar\"><img src=\"imagens/sair.gif\" width=\"16\" height=\"16\" border=\"0\"></a></div></td></tr>";} } if (empty($arquivos)){echo "<tr><td bgcolor=\"#E9E9E9\"><font size=\"2\" face=\"Verdana, Arial, Helvetica, sans-serif\">Não existem arquivos<br></font></td></tr>";} else {foreach($arquivos as $listar){// lista os arquivos echo "<tr><td bgcolor=\"#E9E9E9\"><a href='diretorio/".$linha[usuario]."/$listar' target=\"_blank\"><img border=0 src='imagens/index_arq.JPG'>$listar</a><br></td> <td bgcolor=\"#E9E9E9\"><div align=\"center\"><a href=\"deletar_arq.php?arquivo=$linha[usuario]/$listar\"><img src=\"imagens/sair.gif\" width=\"16\" height=\"16\" border=\"0\"></a></div></td></tr> ";}}echo "<tr> <td bgcolor=\"#E9E9E9\"> </td> </tr></table>";?>

Vejam que no link para acessar o subconteudo eu passei a pasta em questao na variavel caminho e em subconteudo eu concatenei com o caminho completo...repare que não eh coisa complicada naum, pois o erro esta na linha onde esta a função 'readdir($ponteiro) 'em subconteudo.php onde esta o caminho que concatenei, espero que entendam de algum jeito a minha dúvida e que possam me ajudar.......

 

qualquer dúvida com respeito ao código, perguntem, que eu explico detalhadamente

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso pode ajudar para você montar seu sistema!

 

Leitura de Diretórios, Sub-Diretórios, Arquivos, e suas variações.

http://forum.imasters.com.br/index.php?sho...amp;hl=arquivos

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim eh de uma coisa dessas que estou prescisando, vou dar uma analisada, se alguem entendeu

o código eu vou postar o erro que apareceu no navegador:

 

Warning: readdir(): supplied argument is not a valid Directory resource in /home/paralelo/public_html/online/subconteudo.php on line 121

 

Warning: sort() expects parameter 1 to be array, null given in /home/paralelo/public_html/online/subconteudo.php on line 127

 

Warning: Invalid argument supplied for foreach() in /home/paralelo/public_html/online/subconteudo.php on line 129

 

ai quem sabe alguem sabe me dizer se o caminho esta correto ou se eh algum erro de sintatica;;;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ei David Ramires, eu segui as dicas do nosso amigo thiago ferreira, e ja me livrei de um erro, agora na pagina tah aparecendo o erro relacionado a função sort() para o array $itens[] que recebe a variavel $nome_itens na linha 125,o seguinte erro acontece na pagina:Warning: sort() expects parameter 1 to be array, null given in /home/paralelo/public_html/online/subconteudo.php on line 130Warning: Invalid argument supplied for foreach() in /home/paralelo/public_html/online/subconteudo.php on line 132vou dar uma analisada nessa função, se alguem souber mais, por favor postem alguma coisa a respeito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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