نمایش نتایج 1 تا 4 از 4

نام تاپیک: سوال در مورد sitemap.xml

  1. #1

    سوال در مورد sitemap.xml

    سلام و درود
    من فایل xml ساختم با php ولی خوب همونجور که میدونید هر sitemap بیشتر از 50.000 تا نمیتونه لینک داشته باشه و نیاز داره که برای ادامه از 50.000 تا به بعد یک sitemap جدید ایجاد بشه

    من با این کد sitemap رو میسازم :

    <?php
    //ابتدا یک فایل با نام sitemap.xml بسازید.
    //ابتدا فایل را دریافت کرده و یک بار محتویات آن را پاک می کنیم
    $file = "sitemap.xml";
    chmod($file, 0755);//تنظیم مجوز های ویرایش
    $fileHandle = fopen($file, 'w+')//استفاده از متد w+
    or die("خطا: سطح دسترسی برای ویرایش فایل در سرور تنظیم نیست!");
    $empty = "";//متغیر برابر خالی
    //نوشتن در فایل
    $stringData = $empty;
    fwrite($fileHandle, $stringData);
    fclose($fileHandle);

    //باز کردن مجدد فایل
    $file = "sitemap.xml";
    chmod($file, 0755);
    $fileHandle = fopen($file, 'a')//این بار با متد a
    or die("خطا: سطح دسترسی برای ویرایش فایل در سرور تنظیم نیست!");

    $start = "<?xml version='1.0' encoding='UTF-8'?>
    <urlset xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd' xmlns='http://www.sitemaps.org/schemas/sitemap/0.9'>\n";
    //نوشتن فایل با متد a
    $stringData = $start;
    fwrite($fileHandle, $stringData);

    //صفحه نخست
    $home = "<url><loc>http://hotkhabar.ir/</loc></url>\n";
    //نوشتن
    $stringData = $home;
    fwrite($fileHandle, $stringData);
    //قبل از اتصال به پایگاه داده باید اطلاعات اتصال را تعریف کنید
    //دریافت اطلاعات پست ها از دیتابیس و تبدیل به لینک
    mysql_connect('localhost','root','') or die("not");
    mysql_select_db('news') or die("not DB");
    mysql_query('SET NAMES utf8');
    $sql = mysql_query('SELECT * FROM tbl_news order by ID desc LIMIT 49998');
    while($row = mysql_fetch_assoc($sql)){
    $link = $row['textlink'];
    $category = $row['Category'];
    $category = str_replace(' ','-',$category);

    $link = "<url>
    <loc>http://site.ir/اخبار-$category/".urldecode($link).".html</loc>

    </url>\n";
    //نوشتن
    $stringData = $link;
    fwrite($fileHandle, $stringData);
    }

    $end = "</urlset>";//بستن نقشه سایت
    //نوشتن
    $stringData = $end;
    fwrite($fileHandle, $stringData);
    fclose($fileHandle);
    ?>



    این درست کار میکنه
    ولی اگه بخوام وقتی به 50.000 تا رسید مثال خودش یک فایل جدید ایجاد کنه و بقیش رو تو اون بریزه
    ولی مکانیزمش رو نمیدونم که باید چیکار کنم
    اگه راه حل دیگه ای هم دارید راهنمایی کنید ممنون میشم


  2. #2
    کاربر دائمی آواتار abolfazl-z
    تاریخ عضویت
    دی 1390
    محل زندگی
    فکر
    پست
    1,056

    نقل قول: سوال در مورد sitemap.xml

    با سلام

    دو راه حل وجود دارد :

    1. حلقه رو تا زمانی ادامه دهید که جواب کوئری مان 0 باشد(یعنی نتیجه ای نداشته باشد.)
    مثلا ما 10000 تا پست داریم:

    mysqli_query($con,"SELECT * FROM test LIMIT 0,5000");
    mysqli_query($con,"SELECT * FROM test LIMIT 5001,10000");
    mysqli_query($con,"SELECT * FROM test LIMIT 10001,15000");//khooroojee 0!!![pass dg vojood nadarad]


    2.روش دوم این هست که بیایید کل پست ها را تقسیم بر 5000 کنید اگر عدد بدست اومده یک عدد صحیح بود خوب به تعداد عدد بدست اومده کوئری 5000 تایی میگیریم و اگر صحیح نبود ابتدا به صحیح تبدیل اش می کنم سپس به تعداد عدد بدست اومده + یک بار بیشتر کوئری می گیریم.(دلیل یک بار بیشتر این هست که یکم ریزه پست میمونه مثلا 5005 که 5 تا اش میمونه )

    تست نکردم ولی فکر کنم عملی باشد.(راستی من برای 5000 تا گفتم شما میتونید 50000 هزار تا درنظر بگیرید)

  3. #3

    نقل قول: سوال در مورد sitemap.xml

    دوستان یک سوال دارم البته شاید جاش اینجا نباشه ولی دوستان اگر واقعا جوابش رو میدونن دریغ نکنن
    من از طریق نرم افزار سایت A1 sitemap Generator دارم sitemap ام رو درست میکنم. می خواستم بدونم که:
    1- باید هر سری که صفحه جدید به سایتم اضافه شد. یا سایتم بروز شد این فایل درست کنم؟
    2- هر سری که فایل رو درست کردم و جایگزین فایل قبلی تو هاستم کردم. باید به گوگل معرفیش کنم؟ یعنی resubmit کنم؟

  4. #4
    کاربر دائمی آواتار رضا قربانی
    تاریخ عضویت
    خرداد 1389
    محل زندگی
    ܓܨ_| ı̴̴̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡͡ ̲̲͡▫̲̲͡͡ ̲|̡̡̡ _
    پست
    1,808

    نقل قول: سوال در مورد sitemap.xml

    نقل قول نوشته شده توسط sempaisaleh مشاهده تاپیک
    دوستان یک سوال دارم البته شاید جاش اینجا نباشه ولی دوستان اگر واقعا جوابش رو میدونن دریغ نکنن
    من از طریق نرم افزار سایت A1 sitemap Generator دارم sitemap ام رو درست میکنم. می خواستم بدونم که:
    1- باید هر سری که صفحه جدید به سایتم اضافه شد. یا سایتم بروز شد این فایل درست کنم؟
    2- هر سری که فایل رو درست کردم و جایگزین فایل قبلی تو هاستم کردم. باید به گوگل معرفیش کنم؟ یعنی resubmit کنم؟
    بله . با هر تغییر باید محتویات فایل sitemap.xml هم تغییر کنه.
    موفق باشید

تاپیک های مشابه

  1. سوال در مورد XML Schema و XSL File
    نوشته شده توسط خسرو خان در بخش C#‎‎
    پاسخ: 1
    آخرین پست: یک شنبه 26 اردیبهشت 1389, 12:13 عصر
  2. سوال در مورد خواندن فایل xml در php
    نوشته شده توسط hoja06101001 در بخش PHP
    پاسخ: 2
    آخرین پست: چهارشنبه 26 فروردین 1388, 08:27 صبح
  3. سوال در مورد dtd برای فایل xml
    نوشته شده توسط sara_pm در بخش توسعه وب (Web Development)
    پاسخ: 0
    آخرین پست: سه شنبه 18 فروردین 1388, 03:21 صبح
  4. سوال در مورد کاربرد xml و rss
    نوشته شده توسط php_qq در بخش XML و کاربرد آن
    پاسخ: 2
    آخرین پست: یک شنبه 11 اسفند 1387, 13:06 عصر
  5. یه سوال در مورد XML
    نوشته شده توسط iman_s52 در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 9
    آخرین پست: دوشنبه 15 مرداد 1386, 00:19 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •