jonata 0 Denunciar post Postado Abril 25, 2008 $FILE=array('fil1.php','fil2.php'); $op=opendir(diretório); while($ler=readdir($op)){ if($ler!='.' &&$ler!='..' &&$ler!='Thumbs.db'){ foreach($FILE as $k=>$v){ echo "Arquivo intruso $ler"; } } } este script verifica se há arquivos intrusos em determinado diretório ex.: pasta teste tem=file.php se tiver foto.jpg ele mostra o nome "foto.jpg" tá dando erro como resolvo? Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Abril 26, 2008 Sim, mais que erro filho ? Compartilhar este post Link para o post Compartilhar em outros sites
jonata 0 Denunciar post Postado Abril 26, 2008 bem.. se puder teste pois você veria a bagassa... elle repete várias vezes os nomes de todos os arquivos da pasta... testes!.... Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Abril 26, 2008 Aqui: echo "Arquivo intruso $ler"; não seria $v no lugar de $ler ? Compartilhar este post Link para o post Compartilhar em outros sites
jonata 0 Denunciar post Postado Abril 26, 2008 não.. se você ler vai entender... o array contém os todos os arquivos permitidos, se foi feita alguma injeção que descarregue um arquivo malicioso ele vai detecar e apontar ele no diretório.. é melhor testar se possível.. Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Abril 26, 2008 jonata, sempre que postar um topico faça uma introdução. ninguem sabe o que você esta fazendo, o que você quer.. enfim quanto ao seu script, nem precisa testar. Está fazendo um loop dentro de outro loop. Não tem nenhuma condicional para verificar se os valores obtidos existem no array. esse trecho é desnecessário.. foreach($FILE as $k=>$v){ echo "Arquivo intruso $ler"; } troque por isso if( !array_search( $FILE, $ler ) ){ echo "Arquivo intruso " . $ler; } Compartilhar este post Link para o post Compartilhar em outros sites
jonata 0 Denunciar post Postado Abril 26, 2008 poxa vida! está claro sim... o array contém os nomes dos arquivos que devem estar em determinada pasta, se houver um arquivo que não está na lista array ele mostra o nome do mesmo... nada mais a dizer... funcionou mas, sempre exibe o primeiro ítem do array(), ou seja ele não verifica o 1º ítem ... o que deve estar errado? OBRIGADO MAIS UMA VEZ HINOM Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Abril 26, 2008 opa.. foi mal inverti os parâmetros.. errado if( !array_search( $FILE, $ler ) ){ certo if( !array_search( $ler, $FILE ) ){ Compartilhar este post Link para o post Compartilhar em outros sites
jonata 0 Denunciar post Postado Abril 26, 2008 PERCEBI ESTE ERRO... MAS TÁ O DANDO ERRO UE MENCIONEI Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Abril 26, 2008 qual erro ?? mostre o que você fez Compartilhar este post Link para o post Compartilhar em outros sites
jonata 0 Denunciar post Postado Abril 26, 2008 $aluno=array('ALUNO.php','datahora.php','fazer_pergunta.php','home.php','todos.php','estilos.css','cesta.png', 'cx1.png','cx2.png','cx3.png','down.png','foto.png','seta.png','interact_groups.gif','interact_im.gif','disk.jpg'); $op=opendir('aluno/'); while($ler=readdir($op)){ if($ler!='.' && $ler!='..' && $ler!='Thumbs.db' && !is_dir('aluno/'.$ler)){ if(!array_search($ler, $aluno)){ echo $ler.'<br>'; } } } Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Abril 27, 2008 no primeiro valor do array coloque um valor nulo ou vazio. $aluno=array('', Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Abril 27, 2008 modifiquei o titulo para algo mais apropriado "listar arquivos nao registrados em array" o anterior estava muito confuso "verificação de arquivosem diretório e loop foreach" Compartilhar este post Link para o post Compartilhar em outros sites
jonata 0 Denunciar post Postado Abril 27, 2008 ok Hinom, obrigado mais uma vez.... tudo ok! Compartilhar este post Link para o post Compartilhar em outros sites