ホームページ >バックエンド開発 >PHPチュートリアル >DISCUZ ユーザーを統合するための PHP メソッド

DISCUZ ユーザーを統合するための PHP メソッド

墨辰丷
墨辰丷オリジナル
2018-06-07 17:24:582312ブラウズ

この記事では主に DISCUZ ユーザーを PHP に統合する方法を紹介します。興味のある方はぜひ参考にしてください。

数日前、1 つのユーザー レベルは約 120,000 で、もう 1 つは 18,000 で、10,080 のユーザーは破棄されたはずです。 。新規ユーザー登録時に8つのテーブルにレコードが追加されており、他のテーブルがレコードを変更する可能性があるかどうかを確認していませんでした。そのとき、ちょっとテーブルの整理ができないと思って探したところ、discuzというツールを見つけましたが、10万件以内しかインポートできないので、悩んだ末に自分で試してみることにしました。レコードに関しては、ユーザーの操作中に他のテーブルが関連するデータを自動的に完成させる可能性があるため、元の 18,000 ユーザーをエクスポートしてから、PHP スクリプトを直接記述するようにしました。アンセンターには18,000人のユーザーが入り、内外のメンバーが集まります。テストしましたが、問題ありませんでした。残念ながら、ユーザー ポイントなどは失効しておらず、ユーザーのユーザー名とパスワードのみが保持されています。

主要な手順:

1. 使用しないシステムの uncenter メンバー データベースを SQL ファイルにエクスポートします。

2. スクリプトを実行します。

ステートメント: このスクリプトはアイデアを提供するだけです。使用前に事前にデータをバックアップしてください。作成者はデータの損失とは関係ありません。 (コードは簡単です。スプレーしないでください)

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);

UC 統合の使用方法を見てみましょう

ucenter とメンバーシップに取り組んできました過去 2 日間で 2 つの discuz のシステムが完成しました。統合後の機能は次のとおりです。 // 実装方法は次のとおりです。

## 2 つの discuz システムは同じメンバーシップ システムを共有します。 //ソリューションは後部にあります。

最初に ucenter を完全にインストールします。まず、ucenter を入力し、アプリケーションを追加します:

クリックしてインストール: 次のステップに進みます

#クリックが表示されます。インストールを続行するには、上記の問題を解決する必要があります。

UCenter の IP アドレスの入力に戻ってください。何も問題がなければ、次のステップに進みます。

ucenter の統合が完了しました。同時にログインできます。同時に終了する必要があります。

2 番目のサブシステム config/ の下にある config_global.php を開きます。

$_config['db']['1']['tablepre'] = chuzi_'

$_config['db']['2'][ を追加します。 'tablepre'] = it__

2 番目のサブシステムは、source\class\db ファイルの下にある db_driver_mysql.php を開きます ;

34 行目$this->tablepre = $config['1']['tablepre'];以下に追加 $this->tableprechu = $ config['2']['tablepre'];

112行目 return $this->tablepre.$tablename;次のように変更します

if(preg_match("/^common_member(.*)/i",$tablename)|| preg_match("/^home(.*)/i",$tablename) || in_array($tablename, array(&#39;common_credit_rule_log&#39;)))
    {
      return $this->tableprechu .$tablename; //tableprechu与上面修改对应就行;
    }else{
    return $this->tablepre.$tablename;
    }

概要: 上記がこの記事の全内容です。皆様の学習に役立つことを願っています。
関連する推奨事項:

複数テーブルのクエリとページング関数を実装するための PHP メソッドを考える

PHP 実装の取得月、今月、過去 15 日、過去 30 日のメソッド

PHP は preg_split とexplode を使用して、コンテンツを保存するテキストエリアの分割を実装します

以上がDISCUZ ユーザーを統合するための PHP メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。