我知道这个问题已经被很多人问过了,我已经遵循了一些指南,但很抱歉,直到现在我无法解决我的问题。我有许多 XML 文件保存在我的 FTP 服务器上的本地目录中。现在我需要逐行读取每个 XML 文件并将其放在我已经创建的 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 statemnet ..如果混乱不读取路径打印错误?我应该怎么称呼是声明不要得到。如果有人可以帮助我,那就太好了。