Noobie здесь, извинения, если этот вопрос глупо ...
Я хочу добавить данные из файла XML в мою базу данных.Я попытался использовать PHP и AJAX
У меня есть база данных с именем изображения, которая имеет столбцы: image_name, xml_name.
У меня есть XML-файл со следующими данными:
<?xml version="1.0"?>
-<annotation>
<folder>./fashion</folder>
<filename>fashion14.jpg</filename>
<path>./fashion/fashion14.jpg</path>
</annotation>
Код php, который я пробовал:
import.php:
<?php
$output = '';
if(isset($_FILES['file']['name']) && $_FILES['file']['name'] != '')
{
$valid_extension = array('xml');
$file_data = explode('.', $_FILES['file']['name']);
$file_extension = end($file_data);
if(in_array($file_extension, $valid_extension))
{
$data = simplexml_load_file($_FILES['file']['tmp_name']);
$connect = new PDO('mysql:host=localhost;dbname=registration','root', '');
$query = "INSERT INTO images(filename, xml_name)
VALUES(:filename,:xml_name);";
$statement = $connect->prepare($query);
for($i = 0; $i < count($data); $i++)
{
$statement->execute(
array(
':filename' => $data->images[$i]->image_name,
':xml_name' => $data->images[$i]->xml_name
)
);
}
$result = $statement->fetchAll();
if(isset($result))
{
$output = '<div class="alert alert-success">Import Data Done</div>';
}
} else {
$output = '<div class="alert alert-warning">Invalid File</div>';
}
} else {
$output = '<div class="alert alert-warning">Please Select XML File</div>';
}
echo $output;
?>
html-часть:
index.php:
<?php
//index.php
?>
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
</head>
<body>
<br />
<div class="container">
<div class="row">
<h2 align="center">How to Import XML Data into Mysql Table Using Ajax PHP</h2>
<br />
<div class="col-md-9" style="margin:0 auto; float:none;">
<span id="message"></span>
<form method="post" id="import_form" enctype="multipart/form-data">
<div class="form-group">
<label>Select XML File</label>
<input type="file" name="file" id="file" />
</div>
<br />
<div class="form-group">
<input type="submit" name="submit" id="submit" class="btn btn-info" value="Import" />
</div>
</form>
</div>
</div>
</div>
</body>
</html>
<script>
$(document).ready(function(){
$('#import_form').on('submit', function(event){
event.preventDefault();
$.ajax({
url:"import.php",
method:"POST",
data: new FormData(this),
contentType:false,
cache:false,
processData:false,
beforeSend:function(){
$('#submit').attr('disabled','disabled'),
$('#submit').val('Importing...');
},
success:function(data)
{
$('#message').html(data);
$('#import_form')[0].reset();
$('#submit').attr('disabled', false);
$('#submit').val('Import');
}
})
setInterval(function(){
$('#message').html('');
}, 5000);
});
});
</script>
В результате я хочу сохранить имя файла xml в столбце «xml_name» и имя файла свойства xml в «filename»столбец таблицы.Может ли кто-нибудь помочь мне сделать это ...