Heim > Artikel > Backend-Entwicklung > So integrieren Sie DISCUZ-Benutzer mit PHP
In diesem Artikel wird hauptsächlich die Methode zur Integration von DISCUZ-Benutzern in PHP vorgestellt. Ich hoffe, dass er für alle hilfreich ist.
Vor ein paar Tagen bin ich auf ein Projekt gestoßen, bei dem zwei Discuz-Benutzer zusammengeführt werden mussten. Eine Benutzerebene lag bei etwa 120.000, die andere bei 18.000. Unnötig zu erwähnen, dass die 10.080-Benutzerebene weggeworfen wurde, sodass 120.000 übrig blieben. von. Es begann schwierig zu sein, die Datentabellen zu verwalten. Wenn ein neuer Benutzer registriert ist, wurden 8 Tabellen hinzugefügt. Ich habe nicht überprüft, ob andere Tabellen die Möglichkeit haben, Datensätze zu ändern. Zu diesem Zeitpunkt hatte ich das Gefühl, dass ich diese Tabellen eine Weile nicht sortieren konnte, also suchte ich danach und fand das Discuz-Tool, aber es konnte nur Elemente innerhalb von 100.000 importieren, also musste ich es selbst ausprobieren Darin habe ich direkt eine Zeile in die Schlüsseltabelle eingefügt. Andere Tabellen vervollständigen möglicherweise automatisch die relevanten Daten während des Benutzervorgangs. Daher habe ich versucht, die ursprünglichen 18.000 Benutzer zu exportieren, und dann ein PHP-Skript geschrieben, um das direkt zu schreiben 18.000 Benutzer im Uncenter Das Mitglied innen und außen. Ich habe es getestet und es war in Ordnung. Leider sind keine Benutzerpunkte oder ähnliches verloren gegangen, nur der Benutzername und das Passwort des Benutzers wurden beibehalten.
Wichtige Schritte:
1. Exportieren Sie die Uncenter-Mitgliedsdatenbank des Systems, das Sie nicht verwenden möchten, in eine SQL-Datei.
2. Führen Sie das Skript aus.
Erklärung: Dieses Skript liefert nur Ideen, bevor Sie es verwenden. Sollten Daten verloren gehen, hat der Autor nichts damit zu tun. (Der Code ist einfach, nicht sprühen)
set_time_limit(0); $link = mysql_connect('localhost', 'ngjc', 'ohFt6yhHYvt5') or die('Could not connect: ' . mysql_error()); echo 'Connected successfully'; mysql_select_db('ngjc') or die('Could not select database'); require "sql.php";//此处换成导出的sql文件 $arrayerr=array(); $oknum=0; $errnum=0; mysql_query("SET NAMES utf8"); foreach($sqlarr as $sql) { if(!mysql_query($sql)) { $arrayerr[]=$sql;$errnum++; } else { $oknum++; } } echo "<pre class="brush:php;toolbar:false">OK:$oknum <br>errornum:$errnum <br> error:<br>"; print_r($arrayerr); mysql_close($link);
Werfen wir einen Blick auf die Methode zur Verwendung der UC-Integration
Ich habe am ucenter und an der Mitgliedschaft gearbeitet Die beiden Discuz-Systeme haben in den letzten zwei Tagen die gleiche Implementierungsmethode verwendet.
Die beiden Discuz-Systeme teilen sich das gleiche Mitgliedschaftssystem; //Die Lösung ist später
Integrieren Sie zuerst ucenter;Installieren Sie zuerst ein Discuz-System vollständig; ucenter eingeben; Anwendungen hinzufügen:
Zum Installieren klicken: Gehen Sie zum nächsten Schritt unten
Wenn Sie Klicken Sie und die oben genannten Probleme werden angezeigt. Sie müssen die oben genannten Probleme lösen, bevor die Installation fortgesetzt werden kann
Bitte kehren Sie zur Eingabe der IP-Adresse von UCenter zurück: Wenn nichts schief geht, fahren Sie mit dem nächsten Schritt fortucenter-Integration ist abgeschlossen; gleichzeitiges Anmelden und Beenden ist nur zum ersten Mal erforderlich; >In
$_config['db']['1']['tablepre'] = chuzi_'; Fügen Sie
$_config['db']['2']['tablepre'] hinzu = it_Das zweite Subsystem öffnet db_driver_mysql.php unter der sourceclassdb-Datei Fügen Sie unten Zeile 34 hinzu$this->tablepre = $config['1 ']['tablepre'];
$this->tableprechu = $config['2 ']['tablepre'];Zeile 112 gibt $this->tablepre zurück. $tablename; wie folgt geändertif(preg_match("/^common_member(.*)/i",$tablename)|| preg_match("/^home(.*)/i",$tablename) || in_array($tablename, array('common_credit_rule_log'))) { return $this->tableprechu .$tablename; //tableprechu与上面修改对应就行; }else{ return $this->tablepre.$tablename; }Zusammenfassung: Das ist es. Der gesamte Inhalt des Artikels soll für das Studium aller hilfreich sein.
ThinkPHP-Methode zur Implementierung von Multi-Table-Abfrage- und Paging-Funktionen
PHP-Implementierungserwerb Methoden „Monat“, „Dieser Monat“, „Letzte 15 Tage“, „Letzte 30 Tage“PHP verwendet „preg_split“ und „explosive“, um die Methode zum Aufteilen von Textbereichen zum Speichern von Inhalten zu implementieren
Das obige ist der detaillierte Inhalt vonSo integrieren Sie DISCUZ-Benutzer mit PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!