To better understand the problem, you can add a debugger to your code in this way.
<?php
foreach(new DirectoryIterator('C:\xampp\htdocs\testtoclassificados\log') as $fileInfo){
echo "<pre>"; print_r($fileInfo); echo "</pre>";
/*$fp = fopen($fileInfo,"r");
$texto = fread($fp, filesize($fileInfo));
if($fileInfo->isDot())continue;
$arqName = $fileInfo->getFilename();
// $handle = $fileInfo->fopen("c:\data\info.txt", "r");*/
}
?>
Use print_r to print on the screen the instance of the DirectoryIterator class returned by each interaction in your foreach loop. Each print object is a file or directory within the log directory. You are using the instance of the fileInfo object as the path to the file, and it is actually an object instance with methods and attributes. Follow the examples in the DirectoryIterator documentation. Then remove the comment I added and check the last file or directory that the php code displays the error message. Make sure you are not trying to use fopen in a directory. It has to validate the condition for the fopen to read only files.
<?php
foreach(new DirectoryIterator('C:\xampp\htdocs\testtoclassificados\log') as $fileInfo){
//Se for . ou .. pular para a próxima interação do laço.
if($fileInfo->isDot())continue;
if($fileInfo->isFile()){
//DirectoryIterator::getPathname — Retorna o caminho e o nome
//do arquivo do elemento atual do diretório
$arquivo = $fileInfo->getPathname();
// Abre para leitura mas antes verifica se o arquivo
// tem permissão de leitura.
if($fileInfo->isReadable() == true){
$fp = fopen($arquivo,"r");
$texto = fread($fp, filesize($arquivo));
echo $texto."<br/><br/>";
fclose($fp);
}else echo "O arquivo ".$arquivo." não possuí permissão de leitura.";
}
}
?>
To do a list of files with links and open in new tab do so:
<?php
foreach(new DirectoryIterator('C:\xampp\htdocs\testtoclassificados\log') as $fileInfo){
//Se for . ou .. pular para a próxima interação do laço.
if($fileInfo->isDot())continue;
if($fileInfo->isFile()){
//DirectoryIterator::getPathname — Retorna o caminho e o nome
//do arquivo do elemento atual do diretório
$arquivo = $fileInfo->getPathname();
// Abre para leitura mas antes verifica se o arquivo
// tem permissão de leitura.
if($fileInfo->isReadable() == true){
$fp = fopen($arquivo,"r");
$texto = fread($fp, filesize($arquivo));
fclose($fp);
// A variavel $arquivo recebeu o valor do método contido
//dentro da intância da classe DirectoryInterator.
//Dentro desse objeto existe o método que retorna o caminho
//completo até o arquivo, como mostrado abaixo
//$fileInfo->getPathname(), portanto a variavel $arquivo possuí
//o path completo uma vez que definida acima.
$urlLeitor = "http://localhost/leitor.php?arquivo=".$fileInfo->getFilename();
echo"<li><a href='".$urlLeitor."' target='_blank'>".$texto."</a>
<br/></li>";
}else echo "O arquivo ".$arquivo." não possuí permissão de leitura.";
}
}
?>