Il semble que lorsque j'ai plusieurs fichiers dans le répertoire '/ var/www/cal/attach /', il extrait seulement les éléments du premier fichier encore et encore. Ai-je besoin d'éliminer les éléments pour que cela fonctionne correctement? Ce que j'essaie de faire est de faire passer le script à travers plusieurs fichiers * .htm, et analyser les données à partir des fichiers dans $ value [x] où je peux appeler plus tard. Pourtant, les mêmes valeurs apparaissent pour plusieurs fichiers ... Qu'est-ce qui ne va pas?Même éléments à partir de plusieurs fichiers DomDocument loadHTMLFile PHP
<?php
error_reporting(0);
$today = date("Y-m-d");
foreach (glob("/var/www/cal/attach/*.htm") as $filename) {
$file = $DOCUMENT_ROOT. "$filename";
$doc = new DOMDocument();
$doc->loadHTMLFile($file);
$elements = $doc->getElementsByTagName('td');
if (!is_null($elements)) {
foreach ($elements as $element) {
$nodes = $element->childNodes;
foreach ($nodes as $node) {
$value[] = $node->nodeValue. "\n";
}
}
}
echo "date,test,response time,availability,$filename\n";
echo $today . "," . trim($value[25]) . "," . trim($value[26]) . "," . trim($value[27]) . "\n";
echo $today . "," . trim($value[31]) . "," . trim($value[32]) . "," . trim($value[33]) . "\n";
echo $today . "," . trim($value[37]) . "," . trim($value[38]) . "," . trim($value[39]) . "\n";
}
?>
Je ne sais pas si ça vous aidera dans ce cas, mais une bonne pratique lors de la recherche d'erreurs est de ne pas les désactiver ;-) donc, en utilisant error_reporting (E_ALL) au lieu de error_reporting (0) pourrait sois gentil... –