Я не совсем уверен, что enctype="text/xml"
в элементе <form>
заставит браузер отправлять содержимое файла в виде необработанного ввода на сервер. Можно было бы проверить, если это возможно, но я не знаю.
Однако вы можете выполнить стандартную загрузку файлов с помощью PHP & shy; Документы и работать с временным файлом, который будет создан автоматически:
$xml = simplexml_load_file($_FILES['xmlfile']['tmp_name']);
Для этой формы необходимо иметь enctype="multipart/form-data"
. Также целесообразно сначала проверить, был ли файл успешно загружен, посмотрев в $_FILES['xmlfile']['error']
, это 0
, когда не произошло ошибки:
$upload = (object) $_FILES['xmlfile'];
$xml = $upload->error ? NULL : simplexml_load_file($upload->tmp_name);
Кстати, tempfile будет автоматически удален после завершения PHP-скрипта.