برترین مطلب این هفته ی سایت

انتخاب مدیر برای انجمن

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

نمایش نتایج: از 1 به 2 از 2

موضوع: تاپیک جامع سورس کدهای PHP

  1. http_man آواتار ها
    http_man
    مدیر بخش
    Mar 2014
    170
    4
    تشکر تشکر کرده 
    0
    تشکر تشکر شده 
    0
    تشکر شده در
    0 پست

    پیش فرض تاپیک جامع سورس کدهای PHP

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


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


    خودم سعی میکنم هر وقت کدی به پستم خورد (هرچند صبح تا شب با انواع کدها دارم برخورد میکنم ولی کاربردی هاشو واسه اینجا جدا میکنم) یا هر چند روز یک بار اینجا چند پست بذارم و آپدیت کنم تاپیک رو، از دوستان دیگه هم که میتونن به بقیه کمک کنن خواهش میکنم اگر کد جالب و مفیدی رو باهاش برخورد داشتن برای سایر دوستان اینجا قرار بدن و قبلش هم یک توضیح مختصر فارسی هم بدن.
    شرایط و قوانین تاپیک:
    1-توی این تاپیک فقط قراره توش کد گذاتشه بشه، نه پست های اسپم تشکر یا پست های سوال و جواب و .... لطفا اگر سوالی دارید تاپیک ایجاد کنید و اینجا پست های غیر آموزش و سورس کد چیزی ارسال نکنید.

    2- لطفا درخواست کد نکنید اینجا.

    3- دوستانی که کد قرار میدن سعی کنن یک توضیح مختصری به فارسی اول بدن و همچنین کدهای خیلی طولانی و یا غیر کاربردی یا کدهایی با هدف های ناپسند قرار ندن. ( همواره به بلک هت نه بگویید! )

    4- کدی که اینجا قرار میدید رو حتما داخل تگ باز و بسته PHP بزارید.


    5- به دوستان عزیز(!) کپی بردار از توضیحات و کدها هم بگم که هیچ حقوقی محفوظ نیست!! (از جانب من خیالتون راحت)اینقدرررررر کپی کنید تا خسته شید! فقط اگر کپی میکنید قبلش یاد بگیرید، من فقط همین رو ازتون میخوام.

    ---------- ارسال شده در 04:33 PM ---------- ارسال قبلی در 04:29 PM ----------

    کد تست زمان و مصرف رم در پی اچ پی
    خب بریم سراغ اولین کد. این کد یک کد ساده هستش که میتونه زمان طول کشیدن اجرای اسکریپت PHP شما و میزان مصرف رم اون رو نشون بده و راحت باهاش بنچ مارک های ساده از اسکریپتتون بگیرید تا بتونید بهینه ترین کد رو بنویسید.
    توضیح کد: در ابتدای کار با تابع microtime زمان فعلی unix رو بدست میاریم و اونو توی متغییر $time_start میریزیم. یک تابع هم بعدش با نام convert تعریف کردم که داده های بایتی رو اتوماتیک به اون چیزی که ما انسان ها بهش عادت داریم تبدیل میکنه، مثلا 2048 بایت رو ما میگیم 2 کیلوبایت و خودمون راحت میکنیم! کار این تابع هم همینه.
    بعدش هم با کمک تابع memory_get_usage میزان مصرف RAM رو میگیریم ودر متغییری میریزیم. تا اینجای کار، این کدها باید بالای اسکریپتتون باشه و بعد از اینا کدهای اسکریپت خودتون رو بذارید.
    در نهایت بعد از کدهای اسکریپتتون کدهای انتهایی این اسکریپت رو بذارید که دوباره بعد از انجام کدهای خودتون میاد ومیزان مصرف رم و مصرف ماکریمم رو میگیره و میریزه توی متغییری، بعدش دوباره زمان میگیره و حالا این زمان جدید رو منهای زمان اولیه میکنه تا زمان مصرف شده برای اجرای اسکریپتتون بدست بیاد! به همین راحتی.
    بعدش هم یک تابع usagecolor نوشتم که چیزی خاصی نیست و فقط براساس میزان مصرف رم میاد و رنگ خروجی رو از سبز(برای نرمال) به قرمز تبدیل میکنه تا متوجه بشید یک جای کارتون ایراد داره، باید اون مرز قرمز شدنش رو دیگه خودتون بسته به کاری که میخواین بکنید یا توان سرورتون عوض کنید.
    در نهایت هم هه این مصارف رم و زمان اجرای کد رو توی یک جدولی در سمت راست صفحه بهتون نشون میده.

    کد PHP:
    <?php

    $time_start 
    microtime(true);

    function 
    convert($size)

    {

        
    $unit=array('B','KB','MB','GB','TB','PB');

        return 
    round($size/pow(1024,($i=floor(log($size,1024)))),2).' '.$unit[$i];

    }

    $initialusage=convert(memory_get_usage());

     

     

    // your code here

     

     

     

    $peakusage=convert(memory_get_peak_usage());

    $finalusage=convert(memory_get_usage());

    $time_end microtime(true);

    $time $time_end $time_start;

    $usagecolorfunctionargu "";

    function 
    usagecolor($usagecolorfunctionargu){

    if (
    strpos($usagecolorfunctionargu,'KB') !== false) {

        return 
    'green';

    }

    elseif (
    strpos($usagecolorfunctionargu,'MB') !== false) {

        return 
    'red';

    }

    }

     

    echo 
    '<div style="float:right;"><table style="border:1px solid black;">';

    echo 
    '<tr><td><strong>Initial Memory:</strong></td><td style="color:'usagecolor($initialusage) .';">' $initialusage '</td></tr>';

    echo 
    '<tr><td><strong>Peak Memory:</strong></td><td style="color:'usagecolor($peakusage) .';">' $peakusage '</td></tr>';

    echo 
    '<tr><td><strong>Final Memory:</strong></td><td style="color:'usagecolor($finalusage) .';">' $finalusage '</td></tr>';

    echo 
    '<tr><td><strong>Time (s):</strong></td><td style="color:';

    if(
    $time <1){

        echo 
    'green';

    }

    else{

        echo 
    'red';

    }

    echo 
    ';">' round($time4) .' seconds' '</td></tr>';

    echo 
    '</table></div>';

     

    ?>
    پ.ن: این یک اسکریپت ساده برای بدست آوردن زمان اجرای کدتون هستش و معیارش فقط تفاوت زمان اولیه و بعد از اجرای اسکریپت هستش که مسلما نمیتونه خیلی دقیق باشه. اگر عمری باقی بود در آینده در تاپیک های دیگه آموزش کار با چند تا از کتابخونه های خیلی خوب بنچ مارک در PHP رو میذارم.

    ---------- ارسال شده در 04:36 PM ---------- ارسال قبلی در 04:33 PM ----------

    پیدا کردن تعداد تکرار یک کلمه در متن

    یک کد خیلی ساده که میتونید باهاش تعداد کلمات یک رشته یا متن رو پیدا کنید، سعی میکنم بعدا یک کد دیگه قرار بدم که ببینید چطور میشه همین کدی که اینجا به این آسونی نوشته شده رو لقمه اش رو بپیچونید و بعد بزارید توی دهنتون!
    کد PHP:
    <?php

    $text 
    "salam,salam bazam salam khobi? aval salam kon";

     

    echo 
    substr_count($text"salam") . " occurrences";

    ?>


    ---------- ارسال شده در 04:37 PM ---------- ارسال قبلی در 04:36 PM ----------

    کد پی اچ پی جدا کردن متن بر اساس یک کاراکتر یا کلمه به خصوص
    همیشه که نباید متنمون رو بر اساس , جدا کنیم :دی توی این مثال میخوایم بر اساس کلمه and جدا کنیم، این مثال خوبیه برای آموزش توابع implode,explode و array_slice
    توضیح کد: اول یک متن تعریف میکنیم و اونو توی متغییر میریزیم و سپس این متن رو با کمک تابع explode و بر اساس کلمه and جدا میکنیم و به آرایه تبدیل میکنیم. در نهایت هم به کمک تابع implode این آرایه رو دوباره به رشته معمولی تبدیل میکنیم ولی اینبار در پارامتر دوم این تابع، به کمک تابع array_slice فقط اندیس های یک تا سه این آرایه رو به عنوان آرایه ورودی به تابع implode میدهیم.

    کد PHP:
    <?php

    $text 
    "apples and bananas and oranges and pineapples and lemons";

     

    $search " and ";

     

     

    $matches explode($search$text);

     

    echo 
    $matches[0];

    echo 
    '<br>';

     

    echo 
    implode($searcharray_slice($matches13));
    #1 ارسال شده در تاريخ 02-23-2015 در ساعت 04:07 PM

  2. # ADS
    نشان دهنده تبلیغات برای شما
    تاریخ عضویت
    -
    نوشته ها
    -
     

  3. http_man آواتار ها
    http_man
    مدیر بخش
    Mar 2014
    170
    4
    تشکر تشکر کرده 
    0
    تشکر تشکر شده 
    0
    تشکر شده در
    0 پست

    پیش فرض

    پیداکردن تعداد بازدید کننده یک سایت بر اساس رتبه الکسا (رتبه جهانی)

    این کد براساس فرمولی هستش که یک بنده خدایی بر اساس تجربه و تحقیق خودش بدست آورده پس صد در صد قابل اطمینان نیست، همچنین خود الکسا هم که کلا قابل اطمینان نیست! در نتیجه ممکنه این کد نتیجه درستی نشون نده. همچنین اینم اضافه کنم که این کد برای سایت های زیر رتبه 100 هزار جهانی نتایج درستی نشون میده و برای بالاتر از اون خیلی نتایج پرته!

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

    کد PHP:
    <?php

    echo '<!DOCTYPE HTML>

    <html>

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

    </head>

    <body>

     

    <form action="" method="post">

    رتبه الکسا شما: <input type="text" name="alexa"><br>

    <input type="submit">

    </form>

     

    </body>

    </html>'
    ;

    if (isset(
    $_POST['alexa'])){

        echo 
    "<hr />";

    $rank $_POST['alexa'];

        echo 
    " بازدیدکننده روزانه";

    echo 
    ceil(round(pow($rank,-1.008)*104943144672)/30);

    {


    ---------- ارسال شده در 12:32 AM ---------- ارسال قبلی در 12:30 AM ----------

    آموزش تعیین \ برای ویندوز و یا / برای گنو/لینوکس در پی اچ پی

    توضیح کد:
    اگر مثل من واسه خودتون یک میکرو فریمورک ساختید و بعضی از پروژه هاتون رو با فریمورک خودتون انجام میدید یکی از اولین کارهایی که باید برای ساخت قلب پروژه تون یا همون فایل config.php که تمام تنظیمات پروژه تون اول از این فایل لود میشه، تنظیم Directory Seperator هستش تا اگر پروژه تون توی سیستم عامل های ویندوز یا انواع یونیکس در نهایت اجرا شد بازم کار کنه که دلیل این کار ما بخاطر همین تفاوت در آدرس دهی در این دو نوع سیستم عامل هستش و توی پروژه تون به جای / یا \ از ثابت DS
    (یا بقیه ثابت های دیگه برای هسته سایت یا محل کتابخونه ها) که توی کد زیر تعریف میکنیم در آدرس های موجود توی کد های پی اچ پی خودمون استفاده کنیم.
    کد PHP:
    <?php
    defined
    ('DS') ? null define('DS',DIRECTORY_SEPARATOR);
    defined('SITE_ROOT') ? null define('SITE_ROOT' DS.'Users'.DS.'Sites');
    defined('LIB_PATH') ? null define('LIB_PATH'SITE_ROOT.DS.'Includes');
    و درrequire_once ها به عنوان مثال به صورت زیر می نویسیم:
    کد PHP:
    require_once(LIB_PATH.DS.'Functions.php'); 
    البته اشتباها فایل های CSS و Html رو اینجوری آدرس دهی نکنید!

    ---------- ارسال شده در 12:34 AM ---------- ارسال قبلی در 12:32 AM ----------

    آموزش ساخت رمز عبور رندوم در پی اچ پی

    اگر میخواین پسورد رندوم بسازید که از همه کاراکتر ها توش استفاده شده باشه و یک پسورد قوی بسازید میتونید از تابع زیر استفاده کنید.
    این مثال خوبیه که آموزش توابع substr وstr_shuffle داخلش هست.
    در تابع generate_random_password میتونید به عنوان ورودی وقتی صداش میزنید بهش طول پسورد رندومی که میخواین بسازه رو بدید اگر ندید به صورت پیش فرض 8 هستش.

    توضیح کد:
    ابتدا در تابع، متغییر $chars تمام کاراکتر هایی که میخوایم توی ساخت پسورد اسفاده بشه رو تعیین میکنیم. میتونید کم و زیادش کنید بسته به نیاز خودتون.
    کار تابع str_shuffle این هستش که رشته متغیر $chars رو به هم بریزه به صورت رندوم و کاراکترهاش رو جابه جا کنه.
    حالا در تابع substr در پارامتر اول ورودیش این متغیر به هم ریخته رو میدیم، پارامتر دومش یعنی 0 یعنی از اول این رشته پارامتر اول شروع کن و پارامتر سوم هم یعنی $length به این معنی هستش که تا تعداد این پارامتر برو جلو و تا اون کاراکتر رو جدا کن. نتیجه این میشه که به صورت رندوم هر دفعه یک سری کاراکتر به تعداد کاراکتر دلخواهمون یا 8 پیش فرض ساخته میشه.
    کد PHP:
    <?php
    function generate_random_password$length ) {
    $chars "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_-=+;:,.?";
    $password substrstr_shuffle$chars ), 0$length );
    return 
    $password;
    }

    $password_with_default_lenght generate_random_password(); // default length is 8
    $password_with_6_character generate_random_password(6);


    echo 
    "random password with default lenght:"$password_with_default_lenght;
    echo 
    '<hr>';
    echo 
    "random password with given lenght:".$password_with_6_character;


    ---------- ارسال شده در 12:35 AM ---------- ارسال قبلی در 12:34 AM ----------

    آموزش تابع metaphone در PHP - آموزش تشخیص تشابه املایی

    توضیح کد:
    تابع Metaphone یکی از انواع تابع های مختلفی هستش که بر اساس الگوریتم آقای Lawrence Philips برای تشخیص تشابه تلفظ کلمات میتونه به کار بره. این تابع در واقع متافون هر رشته رو نتیجه میده.
    توی کد زیر هم ما به وسیله یک شرط متافون دو کلمه رو با هم بررسی میکنیم که اگر یکی بودند اون دو تا کلمه شبیه هم هستن و اگر نبودند مشابه نیستند. تا اونجایی هم که من میدونم و اگر اشتباه نکنم این تابع به صورت پیش فرضش فقط برای کلمات انگلیسی هستش. کارهای جالبی میشه با این تابع کرد مثلا ساخت اپلیکشین های تلفظ و یا حتی بهبود سرچ های پیچیده بر اساس شباهت های کلمات!
    کد PHP:
    <?php
    // Geep va Gip shabih ham hastan
    echo (metaphone("Geep") == metaphone("Gip")) ? "reshte ha shabi ham hastan" "reshte ha shabi ham nistan";
    echo 
    "<br>";
    // fire va higher shabih ham hastan
    echo (metaphone("fire") == metaphone("higher")) ? "reshte ha shabi ham hastan" "reshte ha shabi ham nistan";
    echo 
    "<br>";
    // rest va reset shabih ham hastan
    echo (metaphone("rest") == metaphone("reset")) ? "reshte ha shabi ham hastan" "reshte ha shabi ham nistan";
    #2 ارسال شده در تاريخ 02-26-2015 در ساعت 12:05 AM

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

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

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

کلمات کلیدی این موضوع

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

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

Designed With Cooperation

Of Creatively & MizbanSite.com