mysql — программа PHP DOM для импорта документа Freemind в базу данных

Я поставил свой код после некоторых объяснений.

Я программирую это, потому что мне нужно заполнить базу данных, используемую приложением, документом .mm (Freemind docs, .mm — это расширение для «отображения разума»)

Приложение и база данных должны сохранять структуру внутри документа Freemind. Я не программирую приложение и базу данных, это работа другого парня.

Это причина, потому что у меня есть все это
«если дочерний элемент текущего узла является узлом с дочерним элементом, то значок с атрибутом BUILTIN содержит идею, этот дочерний элемент не является другим объектом для помещения в базу данных, но имеет значение« contenu »объекта, созданного текущий узел «

Просто ужасно, чтобы объяснить (это ужасно, чтобы объяснить это по-французски … И я пытаюсь объяснить это по-английски. Надеюсь, это понятно.)

Когда я пытаюсь использовать свою программу, я могу выбрать документы Freemind, которые я хочу преобразовать, в SQL, но у меня появляется эта ошибка сразу после:
Неустранимая ошибка: невозможно использовать возвращаемое значение метода в контексте записи в C: \ xampp \ htdocs \ test2 \ TransfertXmlBdd.php в строке 25

Кто-то знает, почему это не работает и как я могу сделать это работает?

Я думаю, что эта часть

    if(move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
$chaineXML = $target_file;

Я пытаюсь сохранить загруженный файл в $ chaineXML для последующей его загрузки в DOM.

$dom->loadXML($chaineXML);

Но я, вероятно, делаю это неправильно.

uploadForm

<form action="upload.php" method="post" enctype="multipart/form-data">
Selectionner le document Freemind a charger:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Charger le document" name="submit">
</form>

</body>
</html>

загружать

// Check if image file is a actual image or fake image
//if(isset($_POST["submit"])) {
//    $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
//    if($check !== false) {
//        echo "File is an image - " . $check["mime"] . ".";
//        $uploadOk = 1;
//    } else {
//        echo "File is not an image.";
//        $uploadOk = 0;
//    }
//}

// Check if file already exists
if (file_exists($target_file)) {
echo "Le fichier a deja ete charger.";
$uploadOk = 0;
}

// Check file size
//if ($_FILES["fileToUpload"]["size"] > 50000000) {
//    echo "Le fichier est trop lourd.";
//    $uploadOk = 0;
//}

// Allow certain file formats
if($imageFileType != "mm") {
echo "Vous ne pouvez upload que des fichiers XML au format MM (mind mapping).";
$uploadOk = 0;
}

// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
echo "Echec du chargement.";
// if everything is ok, try to upload file
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
$chaineXML = $target_file;
echo "Le fichier ". basename( $_FILES["fileToUpload"]["name"]). " a ete charger.";

//on appelle la conversion/transfert
include_once('C:/xampp/htdocs/test2/transfertXmlBdd.php');
echo "Les donnees ont ete enregistre dans la BDD.";
} else {
echo "Une erreur s'est produite.";
}
}
?>

transferXmlBdd

$dom->loadXML($chaineXML);

$element = $listeElements->item(0);

//variables
$id= NULL;
$nom = NULL;
$type = NULL;
$contenu = NULL;
$idParent = NULL;
$idFils = NULL;

//comper le nombres d'elements déjà présent dans la table
$res = $bdd->query('select count(*) as nb from element');
$data = $res->fetch();
$id = $data['nb'];

foreach($xml as $node)
{
//on vérifie la présence ou non de BUILTIN de valeur idea, on passe à l'itération suivante (en forçant) si oui
if($node->hasChild("icon")->hasAttribute("BUILTIN")="idea")
{
continue;
}

//on génere les valeurs id et nom
$nom = getAttributeNode('NAME');
$id = $id + 1;
$idFils = $id;
//
$node.setAttribute(bddid,$id);

//on vérifie la parenté de l'enregistrement
if($node->hasParent("node"))
{
$idParent = getAttributeParent('bddid');
$req = $bdd->prepare('INSERT INTO fils_des_element(id_elem, id_fils) VALUES( idParent, :idFils)');
}
else
{
// affilié à l'élement 0
$req = $bdd->prepare('INSERT INTO fils_des_element(id_elem, id_fils) VALUES( 0, :idFils)');
}

//vérification de contenu
if($node->hasChild("node")->hasChild("icon")->hasAttribute("BUILTIN")=idea)
{
$contenu = getChildAttribute('NAME');
}

//détermination du type
if($node->hasChild("icon")-hasAttribute("BUILTIN")=button_ok)
{
$type = "Avec Solution";
}
elseif($node->hasChild("icon")-hasAttribute("BUILTIN")=button_cancel)
{
$type = "Sans Solution";
}
else
{
$type = NULL;
}

//création de l'entré dans la table
$req = $bdd->prepare('INSERT INTO element(id_element, nom, type, proprietaire, visible, contenu, date_modif) VALUES( :id, :nom, :type, drn, 0, :contenu, CURDATE())');
}

?>

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]