1

いくつかの説明の後にコードを置きます。

アプリケーションで使用されるデータベースに .mm ドキュメントを入力する必要があるため、これをプログラムします (Freemind ドキュメント、.mm は「マインド マッピング」の拡張子です)。

アプリケーションとデータベースは、Freemind ドキュメント内の構造を維持する必要があります。私はアプリケーションとデータベースをプログラムしていません。それは別の人の仕事です。

これが理由です
。「現在のノードの子が、子を持つノードである場合、子は BUILTIN という属性を持つアイコンであり、アイデアが含まれているため、この子はデータベースに配置する他のオブジェクトではなく、" contenu" 現在のノードによって作成されたオブジェクトの値"

説明するのは恐ろしいことです(フランス語で説明するのは恐ろしいことです...そして私は英語でそれを明確にしようとしています.それが明確であることを願っています.)

プログラムを使用しようとすると、変換したい Freemind ドキュメントを選択できますが、SQL の直後に次のエラーが発生します:
致命的なエラー: C:\xampp\htdocs\ の書き込みコンテキストでメソッドの戻り値を使用できません25 行目の test2\transfertXmlBdd.php

なぜそれが機能しないのか、どうすれば機能させることができるのか誰かが知っていますか?

この部分だと思います

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

アップロードしたファイルを $chaineXML に保持して、後で DOM で課金するようにしています。

$dom->loadXML($chaineXML);

しかし、私はおそらくそれを間違っています。

アップロードフォーム

<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())');
}

?>
4

0 に答える 0