获取上传的文件PHP的XML内容

问题描述 投票:1回答:1
  1. 我想将XML文件上传到我的服务器。 删除/获取内容 打印出这个结果。

第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 html xml html5
1个回答
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";
    }


}
?>
© www.soinside.com 2019 - 2024. All rights reserved.