1

フォルダー内の多くの xml ファイルを読み取り、これらのデータから抽出する必要があります。このコードでフォルダを読むのに問題はありません

<?php
$dir = "Dati/xml/nonletti/";
  if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
    while (($file = readdir($dh)) !== false) {
      if (($file !== '.') && ($file !== '..') ) {
  echo "$file \n";
  }
}
  closedir($dh);
}
}
?>

しかし、simplexml を使用してすべてのファイルを読み取ろうとすると、何も表示されません

<?php
$dir = "Dati/xml/nonletti/";
if (is_dir($dir)) {
  if ($dh = opendir($dir)) {
    while (($file = readdir($dh)) !== false) {
      if (($file !== '.') && ($file !== '..') ) {
    $xml = simplexml_load_file($file);  
        $RGSostituzione = $xml->attributes()->Sostituzione;
    echo "<li>File $file - <b>Sostituzione:</b> $RGSostituzione</li>";
    }
  }
  closedir($dh);
  }
}
?>

やり方を教えてもらえますか?ありがとう - フィリッポ

4

2 に答える 2

0
$xml = simplexml_load_file($dir . $file);

https://php.net/readdir (ファイル パス全体ではなく、ファイル名を返します)

https://php.net/simplexml_load_file (完全なファイル パスを使用)

于 2013-07-02T12:07:17.820 に答える
0

ディレクトリ内のファイルを読み取ると、フル パスではなくベース ファイル名のみが取得されます。そのため、SimpleXML 呼び出しを行うときに、パスを先頭に追加する必要があります。

への変更:

$xml = simplexml_load_file($dir . $file);  
于 2013-07-02T12:04:49.550 に答える