نمایش نتایج: از شماره 1 تا 10 , از مجموع 20

موضوع: مشکل : لیمیت بودن file_get_contents و fread به 2 گیگابایت

Hybrid View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1
    عضو انجمن
    تاریخ عضویت
    Sep 2010
    نوشته ها
    713
    تشکر تشکر کرده 
    566
    تشکر تشکر شده 
    1,153
    تشکر شده در
    790 پست

    پیش فرض پاسخ : مشکل : لیمیت بودن file_get_contents و fread به 2 گیگابایت

    دوستان عزیز ممنون از همه ی راهنمایی ها .


    اول از همه پروژه شخصی هست این سرور هم فقط برای همین کار هست . کلا در هر لحظه فقط یک پردازش قرار هست اتفاق بیوفته پس مشکلی در منابع نخواهد بود


    دوم بنده نیاز دارم فایل رو یکجا بخونم و نه خط به خط مگر نه با fread مقدار حجم رو کم میکردم . نیاز هست که کل فایل خونده بشه به دلیل اینکه میخوام قسمت های مشابه رو حذف کنم . و بعد از اون میخوام اون فایل رو مدام مورد سرچ قرار بدم .


    حالا اگر راه حلی هست که بشه فایل حجیم تکست رو در سرور باز کرد ممنون میشم بفرمایید

  2. #2
    عضو انجمن AtrafNet آواتار ها
    تاریخ عضویت
    Nov 2016
    نوشته ها
    259
    تشکر تشکر کرده 
    2,584
    تشکر تشکر شده 
    729
    تشکر شده در
    417 پست

    پیش فرض پاسخ : مشکل : لیمیت بودن file_get_contents و fread به 2 گیگابایت

    نقل قول نوشته اصلی توسط hoka نمایش پست ها
    دوستان عزیز ممنون از همه ی راهنمایی ها .


    اول از همه پروژه شخصی هست این سرور هم فقط برای همین کار هست . کلا در هر لحظه فقط یک پردازش قرار هست اتفاق بیوفته پس مشکلی در منابع نخواهد بود


    دوم بنده نیاز دارم فایل رو یکجا بخونم و نه خط به خط مگر نه با fread مقدار حجم رو کم میکردم . نیاز هست که کل فایل خونده بشه به دلیل اینکه میخوام قسمت های مشابه رو حذف کنم . و بعد از اون میخوام اون فایل رو مدام مورد سرچ قرار بدم .


    حالا اگر راه حلی هست که بشه فایل حجیم تکست رو در سرور باز کرد ممنون میشم بفرمایید

    تو ویندوز نرم افزار EmEditor می تونه فایل های حجیم 4 گیگ به بالا هم باز کنه و هم خودش سیستم Compare جهت مقایسه دو فایل داره.
    همینطوری گفتم اگر صرفاً فقط هدف باز کردن تغییراته شاید به دردتون بخوره.

    ولی اگه هدف فقط با PHP هستش به نظرم این عدد 2147483647 که محدودیتش هست به واحد بایت هستش و اگه دو بار تقسیم بر 1024 کنیم میشه فهمید که محدودیتش روی 2048 مگابایت فیکس شده ولی مموری مورد نیاز شما 7351551328 بایت هست که میشه 7 گیگ.
    اصولاً اگه منابع سخت افزاری RAM و CPU و همچنین سرعت IO بالایی داشته باشید شاید بشه با تغییر memory_limit به حجم های زیاد درستش کرد ولی اصولی نیست.
    به نظرم بهتره روش های دیگه خوندن فایل مثل همین fread و fopen با fget و file و... هم برای خوندن کامل تست کنید ببینید با کدومش php منابع RAM کمتری مصرف میکنه بعدش من نمی دونم هدف شما چیه ولی ببینید آیا حداقل نمیشه مرحله رو جوری تیکه تیکه کرد؟ مثلاً یه مقدار از کار که انجام شد باقی اش رو بذارید برای دفعه بعد و از ادامه فایل شروع کنید؟
    ویرایش توسط AtrafNet : March 30th, 2017 در ساعت 16:25

  3. تعداد تشکر ها ازAtrafNet به دلیل پست مفید


  4. #3
    عضو انجمن
    تاریخ عضویت
    Sep 2010
    نوشته ها
    713
    تشکر تشکر کرده 
    566
    تشکر تشکر شده 
    1,153
    تشکر شده در
    790 پست

    پیش فرض پاسخ : مشکل : لیمیت بودن file_get_contents و fread به 2 گیگابایت

    نقل قول نوشته اصلی توسط AtrafNet نمایش پست ها
    تو ویندوز نرم افزار EmEditor می تونه فایل های حجیم 4 گیگ به بالا هم باز کنه و هم خودش سیستم Compare جهت مقایسه دو فایل داره.
    همینطوری گفتم اگر صرفاً فقط هدف باز کردن تغییراته شاید به دردتون بخوره.

    ولی اگه هدف فقط با PHP هستش به نظرم این عدد 2147483647 که محدودیتش هست به واحد بایت هستش و اگه دو بار تقسیم بر 1024 کنیم میشه فهمید که محدودیتش روی 2048 مگابایت فیکس شده ولی مموری مورد نیاز شما 7351551328 بایت هست که میشه 7 گیگ.
    اصولاً اگه منابع سخت افزاری RAM و CPU و همچنین سرعت IO بالایی داشته باشید شاید بشه با تغییر memory_limit به حجم های زیاد درستش کرد ولی اصولی نیست.
    به نظرم بهتره روش های دیگه خوندن فایل مثل همین fread و fopen با fget و file و... هم برای خوندن کامل تست کنید ببینید با کدومش php منابع RAM کمتری مصرف میکنه بعدش من نمی دونم هدف شما چیه ولی ببینید آیا حداقل نمیشه مرحله رو جوری تیکه تیکه کرد؟ مثلاً یه مقدار از کار که انجام شد باقی اش رو بذارید برای دفعه بعد و از ادامه فایل شروع کنید؟
    ببینید مموری لیمیت و کلا لیمیت ها روی بینهایت هست . مشکل با لیمیت بودن fread و file_get_contents هست که روی 2 گیگ لیمیت شدن

    در مورد بخش بخش کردن هم خیر متاسفانه . چون معلوم نیست قسمت تکراری در کدوم بخش قرار میگیره نیاز دارم که فایل رو یک جا بخونم در php .

    - - - Updated - - -

    البته این 7 گیگ یکی از فایل ها هست فقط. مجموع فایل ها بیش از 20 گیگ هست

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. پاسخ ها: 3
    آخرين نوشته: November 7th, 2017, 13:35
  2. دریافت نقشه سایت توسط file_get_contents
    توسط iroo در انجمن PHP-MySQL
    پاسخ ها: 6
    آخرين نوشته: January 21st, 2017, 13:08
  3. تابع file_get_contents چیه ؟
    توسط amirhoseyn در انجمن دايرکت ادمين DirectAdmin
    پاسخ ها: 3
    آخرين نوشته: October 8th, 2013, 13:57
  4. Warning: file_get_contents()
    توسط tehro0n در انجمن سوالات و مشکلات
    پاسخ ها: 1
    آخرين نوشته: October 11th, 2012, 02:13
  5. Warning: file_get_contents
    توسط tehro0n در انجمن سوالات و مشکلات
    پاسخ ها: 1
    آخرين نوشته: September 18th, 2012, 16:40

مجوز های ارسال و ویرایش

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