exchanging

یه کلاس برای تغییر در فایل

شروع موضوع توسط hba ‏13 سپتامبر 2007 در انجمن PHP

  1. hba

    hba کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏8 آگوست 2004
    نوشته ها:
    1,511
    تشکر شده:
    1
    محل سکونت:
    تهران-ونک-php-mysql
    سلام
    اقا یه کلاس چیزی اماده دارید که:
    فایل text رو بخونه بشه اضافه و ویرایش و حذف کرد
    یعنی تغییر در فایل text بده
    این تغییر اش برای مهم تره مثلا یهو یک سری جاش رو که می گم برای تغییر بده تو خودش Save کنه

    مرسی اگه چیزی دارید برسونید نمی خواتهم بنویسم اماده سریع می خواهم
     
  2. firebird

    firebird Registered User

    تاریخ عضویت:
    ‏2 جولای 2005
    نوشته ها:
    1,424
    تشکر شده:
    9
    کلاس برای کار با فایل زیاده مثلاً PEAR یکی داره. ولی فکر نمیکنم نیازی به کلاس خاصی باشه و این کلاسها هم دقیقاً این کار رو انجام نمیدن. شما با file_get_contents فایل رو بخون. با str_replace یا preg_replace تغییرات رو بده. بعد با file_put_contents بریز تو فایل. حالا شاید دوستان کلاس خاصی بشناسند.
     
  3. hba

    hba کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏8 آگوست 2004
    نوشته ها:
    1,511
    تشکر شده:
    1
    محل سکونت:
    تهران-ونک-php-mysql
    مرسی
    ببین نوشتنش برای کاری نداره مام روش هاش رو هم بلدم
    ولی یه کلاس یا چیزی اماده می خواهم که دقیق بگم کجای فایل و چه رو با چی عوض کنه و یا کدوم جای فایل چی رو اضافه یا کم کنه

    اماده می خواهم چون نوشتنش برای دقت بالا در حذف اضافه و تغییر در جایی که می خواهم زمان می بره
     
  4. hba

    hba کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏8 آگوست 2004
    نوشته ها:
    1,511
    تشکر شده:
    1
    محل سکونت:
    تهران-ونک-php-mysql
    چی شد
    ندارید خودتون چی کار می کنید
    بخواهید یه فایل که 10 جاش hamed نوشته سومی اش رو عوض کنید چه می کنید

    خیلی طولانی میشه یک چیز اماده ندارید
     
  5. Mehdi

    Mehdi مدیر بازنشسته

    تاریخ عضویت:
    ‏1 آگوست 2004
    نوشته ها:
    5,569
    تشکر شده:
    49
    محل سکونت:
    Anywhere
    شاید روش بهتری هم باشه , ولی من اینجوری نوشتمش :
    PHP:
    function sreplace($fin,$rep,$str,$n){
    $st=split($fin,$str);

    for(
    $i=0;$i<count($st);$i++){
    if(
    $i==$n)$s=$rep;
    elseif(
    $i!=$n && $i!=0)$s=$fin;
    $string .= $s.$st[$i];

    }
    return 
    $string;
    }
    //Usage
    $w="samaletkhmehdioeadsfegrehmehdissdfmehdifjdmehdi";
    echo 
    sreplace("mehdi","----",$w,3);
     
  6. firebird

    firebird Registered User

    تاریخ عضویت:
    ‏2 جولای 2005
    نوشته ها:
    1,424
    تشکر شده:
    9
    الان که واضح تر توضیح دادی میشه فهمید. من هم این راه به ذهنم میرسه. این کد hamed سوم رو برمیداره جاش reza میذاره :D

    PHP:
    echo preg_replace_callback('@\bhamed\[email protected]'create_function('$m','static $im = 0; $im++; if ($im == 3) return "reza"; else return $m[0];'), $input);
     
  7. hba

    hba کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏8 آگوست 2004
    نوشته ها:
    1,511
    تشکر شده:
    1
    محل سکونت:
    تهران-ونک-php-mysql
    ممنون لطف کردید
    دیشب خودم یکی نوشتم
    چون تغییر در xml بود دنبالش می گردم و عوض می کنم
    مرسی