この質問はすでに多くの人から寄せられていることを知っており、すでにいくつかのガイドに従っていますが、今まで問題を解決できず申し訳ありません。FTP サーバーのローカル ディレクトリに保存されている XML ファイルが多数あります。ここで、すべての XML ファイルを 1 行ずつ読み取り、作成済みの MySQL データベースに配置する必要があります。ここにコードを添付します。これはサーバーでは実行されず、データベースでは何も表示されませんでした。
// Read filenames in current directory looking for XML files
$dir = "/path/to/filename";
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
if (($file !== '.') && ($file !== '..') ) {
$xml = simplexml_load_file($dir.$file);
//$RGSostituzione = $xml->attributes()->Sostituzione;
}
}
closedir($dh);
}
}
// Loop through each XML file in the current directory
$query = array();
foreach($dir as $filename) {
$mess =simplexml_load_file("/path/to/filename".$filename);
$time = mysql_real_escape_string($mess->time);
$Id = mysql_real_escape_string($mess->Id);
$From = mysql_real_escape_string($mess->From);
$Subject = mysql_real_escape_string($mess->Subject);
$address = mysql_real_escape_string($mess->address);
$Body = mysql_real_escape_string($mess->Body);
$query[] = "('$time', '$Id', '$Subject','$address','$Body')";
} if(!empty($query)) {
$query = implode(",",$query);
mysql_query("INSERT INTO xml (time, Id, From, Subject,address,Body)VALUES {$query}") or die("Query 2 non valida: " . mysql_error());
}
//close connection
mysql_close($conn);
?>
編集済み _:私の最後のリクエストは、この特定のコードからのものです-
// Loop through each XML file in the current directory
$query = array();
foreach($dir as $filename) {
$mess =simplexml_load_file("/path/to/filename".$filename);
$mess の後、foreach ループ内に if ステートメントを書きたいと思います。混乱がパスを読み取らない場合、エラーを出力しますか? どのように私はステートメントを呼び出す必要がありますか?