步骤4:我想将XML文件的每一行写入我的数据库。
这是我尝试喷射的方式。
xml_import.php
<?php
if(isset($_POST["submit"])){
echo "lets test";
$uploaddir = 'C:\wamp\www\PLT';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "Datei ist valide und wurde erfolgreich hochgeladen.\n";
} else {
echo "Möglicherweise eine Dateiupload-Attacke!\n";
}
echo 'Weitere Debugging Informationen:';
print_r($_FILES);
print "</pre>";
$xml = simplexml_load_file($_FILES['userfile']['tmp_name']);
print_r($xml);
}
?>
<form enctype="multipart/form-data" action="xml_import.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
Diese Datei hochladen: <input name="userfile" type="file" />
<input type="submit" name="submit" value="Send File" />
</form>
我不知道为什么,但这是我从PHP脚本回来的:
Datei ist valide und wurde erfolgreich hochgeladen。 Weitere调试 信息:阵列( [userfile] =&gt;排列 ( [name] =&gt; XML format.xml [type] =&gt;文/ XML [tmp_name] =&gt; C:\ WAMP \ tmp目录\ phpBE4B.tmp [错误] =&gt; 0 [size] =&gt; 89835 )
)
(!)警告:simplexml_load_file():I / O警告:加载失败 外部实体“file:/// C:/wamp/tmp/phpBE4B.tmp”in 第18行的C:\ wamp \ www \ PLT \ xml_import.php
更新
<xml>
<competition Category="Senior" Country="DE" Description="Senior" Version="1.5"/>
<row GName="Safksdlha" GlobalPos="0" Id="W004637" Name="MUNDKLY"/>
<row GName="Laklödfa" GlobalPos="0" Id="W002054" Name="ASSHJKDNAITE"/>
<row CompetitionStatus="AC" Date="20140904" Time="12:59" Total="1343" ID="W004637"/>
</xml>
我需要从中获取所有GName和Name吗?有人可以向我显示吗?
答案 0 :(得分:0)
从以下位置更改PHP代码:
<?php
if(isset($_POST["submit"])){
echo "lets test";
$uploaddir = 'C:\wamp\www\PLT';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "Datei ist valide und wurde erfolgreich hochgeladen.\n";
} else {
echo "Möglicherweise eine Dateiupload-Attacke!\n";
}
echo 'Weitere Debugging Informationen:';
print_r($_FILES);
print "</pre>";
$xml = simplexml_load_file($_FILES['userfile']['tmp_name']);
print_r($xml);
}
?>
对此:
<?php
if(isset($_POST["submit"])){
echo "lets test";
$uploaddir = 'C:\wamp\www\PLT';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "Datei ist valide und wurde erfolgreich hochgeladen.\n";
echo 'Weitere Debugging Informationen:';
print_r($_FILES);
print "</pre>";
$xml = simplexml_load_file($uploadfile);
print_r($xml);
} else {
echo "Möglicherweise eine Dateiupload-Attacke!\n";
}
}
?>