Pergunta
A verdade é que levo tempo sem tocar php e vou meio devagar. Tenho dúvidas com um while que percorre os arquivos dentro de um diretório. Quero que me imprima somente se existirem arquivos com extensão .jpg e depois chame a uma função. Isto me faz bem.
Agora o problema é que não sei como dentro deste while a forma de saber se não existe nenhum arquivo .jpg.
Meu while:
$dir = opendir ("/diretorio");
while ( false !== ( $file = readdir($dir) ) ) {
if (strpos($file, '.jpg',1) ) {
chamarfuncao();
}
}
closedir($dir);
Provei com um if dentro do while, porém então me chama a função tantas vezes como arquivos houver nesse diretório. Tem que chamar uma só a vez a função A no caso de encontrar arquivos .jpg; e chamar à função B no caso de não encontrar nenhum; porém como disse antes, somente uma vez... e aqui me perco.
A FAQ Percorrer arquivos com while tem Pertence à categoria:
Resposta
Você poderia verificar se existe com uma variável a qual colocaria em true se existe ao menos uma vez.
Algo assim...
<?
$dir = opendir ("./");
$existe=false;
while ( false != ($file = readdir($dir) ) )
{
if (strpos($file, '.php',1) )
{
$existe=true;
}
}
closedir($dir);
if($existe)
{
echo "chamar funcao A";
}
else
{
echo "chamar funcao B";
}
?>
Por Daniel G.