المشاركة الأصلية كتبت بواسطة: Admin وعليكم السلام
الأفضل تحتفظ بالمواضيع بصيغة SQL. كما ان هذا الكود قد يسبب لود على السيرفر إذا كانت المواضيع كثيرة جدا.
الكود ل Xenforo مشابه ل VB مع تغيير التسميات لان جداولهم متشابهة وهذا هو الكود:<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpasswd = '12345';
$dbname = 'xf';
$prefix = 'xf_';
$ForumsArr = Array(998, 999);
$conn = mysqli_connect($dbhost, $dbuser, $dbpasswd, $dbname);
$folder = 'savethread';
if (!file_exists($folder)) {
mkdir("savethread", 0700);
}
$nobilitys = mysqli_query($conn, "SELECT * FROM ".$prefix."thread") or die(mysqli_error($conn));
while ($rank = mysqli_fetch_array($nobilitys)) {
if (in_array($rank['node_id'], $ForumsArr) == 0) {
$thread = $rank['thread_id'];
$AXE = mysqli_query($conn, "SELECT * FROM ".$prefix."post where thread_id='$thread'");
$Hazem = mysqli_fetch_assoc($AXE);
$my_file = $folder . '/' . $thread . '-' . $rank['title'] . '.txt';
echo $my_file . '<br>';
@ $fp = fopen($my_file, 'w');
@ fwrite($fp, $Hazem['message']);
@ fclose($fp);
}
}
?>
أما ل Pbboard فالكود أصغر لأنه هناك فقط جدول واحد للمواضيع وهذا هو الكود:<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpasswd = '12345';
$dbname = 'pbb303';
$prefix = 'pbb_';
$ForumsArr = Array(998, 999);
$conn = mysqli_connect($dbhost, $dbuser, $dbpasswd, $dbname);
$folder = 'savethread';
if (!file_exists($folder)) {
mkdir("savethread", 0700);
}
$nobilitys = mysqli_query($conn, "SELECT * FROM ".$prefix."subject") or die(mysqli_error($conn));
while ($rank = mysqli_fetch_array($nobilitys)) {
if (in_array($rank['section'], $ForumsArr) == 0) {
$thread = $rank['id'];
$my_file = $folder . '/' . $thread . '-' . $rank['title'] . '.txt';
echo $my_file . '<br>';
@ $fp = fopen($my_file, 'w');
@ fwrite($fp, $rank['text']);
@ fclose($fp);
}
}
?>
مع الانتباه لبادئة الجدول prefix$ForumsArr = Array(998, 999);
تستبدل الأرقام بالمنتديات التي تريد استثناءها. وإذا أردت بدل الإستثناء الشمول فقط يعني تريد فقط تصدير منتدى معين تغير في الكودif (in_array($rank['section'], $ForumsArr) == 0) {
تضع 1 بدل 0
رائع جدا جدا
سأجرب وأعود لإخبارك أخي الكريم