第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脚本回来了:
文件有效且已成功上传。进一步的调试信息:Array([userfile] => Array([name] => XML format.xml [type] => text / xml [tmp_name] => C:\ wamp \ tmp \ phpBE4B.tmp [error] => 0 [size] => 89835)
)
(!)警告:simplexml_load_file():I / O警告:无法在C:\ wamp \ www \ PLT \ xml_import.php中加载外部实体“file:/// C:/wamp/tmp/phpBE4.tmp”第18行
更新:
<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可以有人向我展示它吗?
改变你的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";
}
}
?>