String aus Datenbank mit Datei vergleichen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • String aus Datenbank mit Datei vergleichen

    Hallo...

    eines vorweg...ich nutze schon seit ca. 2 Tagen die Suchfunktion, doch konnte ich noch keine Lösung finden, die mein Problem zu 100% beseitigt. Daher hier meine Frage...

    Ich möchte folgendes mit meinen Templates realisieren:

    1. In einem Ordner /templates befinden sich alle HTML - Templates für mein Projekt. Aus diesem Ordner wird nun jede Datei mittels file_get_contents() eingelesen und der Inhalt sprich der HTML - Code in einer Datenbank gespeichert.

    2. Nun gibt es im Adminbereich ein Formular über das jedes Template wieder geladen und bearbeitet werden kann. Nach dem Absenden des Formulars möchte ich den Inhalt aus dem Forumlarfeld mit dem Inhalt der Datenbank vergleichen...

    Meine Fragen zu diesem Thema:

    Wie stelle ich am besten eine Änderung zwischen den Strings fest? Derzeit mache ich folgendes...

    PHP-Code:
    $form_str stripslashes(preg_replace('#(\r\n|\n|\r)#'''trim($_POST['form_code'])));
    $db_str stripslashes(preg_replace('#(\r\n|\n|\r)#'''trim($row['tpl_code'])));

    if (
    $form_str != $db_str) {
        echo 
    "Die Templates sind unterschiedlich";
    } else {
        echo 
    "Die Templates sind gleich";

    Das Problem an der Sache...es funkioniert nicht, denn wenn ich z.B. mit strlen() die Länge der jeweiligen Strings ermittele, dann bekomme ich immer unterschiedliche Werte heraus. Habe ich etwas übersehen oder hat jemand eine andere Lösung für das Problem?
    Mfg,

    Schoppy

  • #2
    darf ich vorher fragen, wofür der vergleich gut sein soll?

    Kommentar


    • #3
      Ich möchte habe in einem CMS einen Online-Editor für Templates und möchte prüfen, ob das Template durch den Benutzer verändert wurde. Sprich es soll geprüft werden, ob das Template aus der Datenbank den gleichen Inhalt hat, wie die Datei des Benutzers.
      Mfg,

      Schoppy

      Kommentar


      • #4
        das habe ich schon verstanden, nur stellt sich trotzdem die frage - wozu vergleichen? möchtest du eine statistik darüber führen, wie oft ein template bearbeitet wird?

        Kommentar


        • #5
          Nein, denn das könnte man ja auch anders lösen.

          Ich habe die Templates in der Datenbank und als Datei auf dem Server. Wenn der Benutzer nun sein Template ändert, dann soll die Datei auf dem Server aktualisiert werden...aber nur wenn es wirklich eine Änderung gewesen ist...zum anderen soll es die Möglichkeit geben, die Templates offline zu bearbeiten und mit der Datenbank zu vergleichen.
          Mfg,

          Schoppy

          Kommentar


          • #6
            eine "wirkliche änderung" festzustellen wird schwer - leerzeichen zwischen html-tags, zeilenumbrüche etc...

            nimm daher ein md5($tpl_content) o.ä. und vergleiche die hash-werte. aber sinn ergibt es immer noch keinen - denn wenn es einen unterschied gibt, weißt du nicht, ob der eintrag in der db oder die datei aktueller sind, es sei denn, du speicherst noch einen timestamp dazu. nur würde ich mir die frage stellen, ob diese redundanz denn notwendig ist.

            Kommentar

            Lädt...
            X