Ir para conteúdo

POWERED BY:

Arquivado

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

jonata

listar arquivos nao registrados em array

Recommended Posts

$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

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

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

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

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

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

$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

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

×

Informação importante

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