Читать полученных XML ajax - PHP
В php с помощью команды var_dump($_FILES ['filexml']);
я получаю следующие значения ajax
array(5) {
["name"]=>
string(56) "nomeficticio.xml"
["type"]=>
string(8) "text/xml"
["tmp_name"]=>
string(14) "/tmp/phpoqnomeficticio"
["error"]=>
int(0)
["size"]=>
int(16536)
}
с Помощью этих данных, как я могу прочитать этот XML-файл? PHP
я даже пытался использовать команду simplexml_load_file($_FILES['filexml']);
, но он дал следующее сообщение об ошибке:
Simplexml_load_file() expects parameter 1 to be a valid path, array given
3
Author: Silvio Andorinha, 2015-09-10
2 answers
Массив уже говорит, где находится файл. Просто его открыть:
simplexml_load_file($_FILES['filexml']['tmp_name']);
Однако, не рекомендуется обрабатывать файл в временный каталог, так как сам может очистить этот каталог, время от времени. Предпочитаю, чтобы переместить его до этого -
$basename = basename($_FILES['filexml']['tmp_name']);
move_uploaded_file($_FILES['filexml']['tmp_name'], __DIR__ . $basename);
simplexml_load_file( __DIR__ . $basename);
3
Author: Rodrigo Rigotti, 2015-09-10 13:26:05
Вам нужно только использовать 'tmp_name' вместо 'name'. Пример:
<?php
if(isset($_FILES['input_file'])){
$xml = simplexml_load_file($_FILES['input_file']["tmp_name"]);
echo '<pre>';
var_dump($xml);
echo '</pre>';
}
?>
<form class="frm" method="post" enctype="multipart/form-data" novalidate="novalidate">
<input type="file" name="input_file"/>
<input type="submit" value="Enviar"/>
</form>
Я Надеюсь, что помог!
Если сработает, я был бы рад, если дадите мне upvote и выбор мой ответ.
3
Author: Allan Andrade, 2015-09-10 13:23:28