صفحه 3 از 5 نخستنخست 12345 آخرینآخرین
نمایش نتایج: از شماره 21 تا 30 , از مجموع 49

موضوع: معرفی توابع و کلاس های کاربردی php

  1. #21
    عضو انجمن rezaonline.net آواتار ها
    تاریخ عضویت
    Apr 2012
    محل سکونت
    Sanandaj | Tehran
    نوشته ها
    939
    تشکر تشکر کرده 
    1,556
    تشکر تشکر شده 
    2,338
    تشکر شده در
    1,230 پست

    Lightbulb پاسخ : کلاس استاتیک کار با دیتابیس mysql

    يه دست پخت ديگه از خودم .
    خيلي ها شايد از روش سنتي براي اتصال به ديتابيس و کوئري استفاده ميکنن.
    و شايد خيلي هاتون از mysqli هيچ وقت استفاده نکردين! جالبه بدونين mysqli سرعت قابل توجهي در مقابل mysql داره . (توي پرانتز mysqli هم براي ارتباط با ديتابيس MySql استفاده ميشه!)
    خب من دو تا کلاس استايک mysql , mysqli براي ارتباط با ديتابيس نوشتم .
    از هر کدوم که خواستين استفاده کنين هر وقتي هم دوست داشتين ميتونين بينشون سويچ کنين


    کلاسها رو ميذارم . اول بايد يکي از کلاسهاي زير رو توي برنامهتون include کنين


    کلاس mysql
    کد PHP:
    class db {            static private function _construct(){     @mysql_connect(dbhost,dbuser,dbpass) or die('<h1>error in connect db');      @mysql_select_db(dbname) or die('<h1>error in select db');    }           static public function set_utf8(){      self::_construct();       mysql_query("SET NAMES 'utf8'");    }      static public function escape($x){     if(function_existes(mysql_real_escape_string))         return mysql_real_escape_string($x);           else      return $x;    }            static public function q($x){      self::set_utf8();         return @mysql_query($x);     }            static public function get($x){      $result self::q($x);          $out = array();      $i 0;      while($row mysql_fetch_object($result)){     $i++;     $out[$i] = $row;     }      return $out;     }         static public function q_af($x){    self::q($x);     return mysql_affected_rows();     }           static public function close(){    @mysql_close(self::_construct());     return 1;    }     static private function _destruct(){     return;       }} 



    کلاس mysqli
    کد PHP:
    class db {        static private $mysqli null;              static private function _construct(){       @self::$mysqli = new mysqli(dbhost,dbuser,dbpass,dbname) ;        if(self::$mysqli->connect_error)         die('<h1>error in connect db');         }                 static public function set_utf8(){         self::_construct();        @self::$mysqli->query("SET NAMES 'utf8'");         }                  static public function escape($x){         if(function_existes(mysqli_real_escape_string))         return mysqli_real_escape_string($x);         else            return $x;        }                static public function q($x){       self::set_utf8();         return @self::$mysqli->query($x);        }                  static public function get($x){         $result self::q($x);          $out = array();          $i 0;             while($row = @$result->fetch_object()){       $i++;            $out[$i] = $row;            }           return $out;         }         /       static public function q_af($x){        self::q($x);         return self::$mysqli->affected_rows;        }                 static public function close(){        self::$mysqli->close();         return 1;    }          static private function _destruct(){         return;         }} 

    روش استفاده ابتدا يکي از کلاسهاي زير رو توي يه فايلي بذاريد و توي مثلاً فايل config.php پروژهتون include کنين.
    سپس بايد 4 تا ثابت تعريف کنين مثل مثال زير
    کد PHP:
    define('dbname','reza19');
    define('dbuser','root');
    define('dbpass','');
    define('dbhost','127.0.0.1'); 

    حالا هرجا خواستين به ديتابيس کوئري بدين از متد زير استفاده کنين
    کد PHP:
    db::q("INSERT INTO `cat` VALUES (NULL, 'uri', 'توضيحات', 'نام')"



    براي راحتيه شما يه get هم اضافه کردم که هروقت select داشتين از اين استفاده کنين بهتره (چون خودش fetch ميکنه)
    کد PHP:
    $get db::get('select * from comment limit 10');

    print_r($get);

    foreach(
    $get as $row
       echo 
    $row->id.'----'.$row->name.'<br>'
    ، البته واکشي رو بصورت object ميده بيرون

    بعضي وقتهام که ميخوايد يه insert يا update انجام بديد يه affected row ميخوايد که مثلاً تعداد سطرهاي تغيير کرده رو نشون ميده
    که بايد چک کنين اگه بزرگتر از 0 بود تغييرات انجام شده در غير انصورت تغييرات انجام نشده براي اينکار از متد زير استفاده کنيد
    کد PHP:
    $resultdb::q_af("INSERT INTO `cat` VALUES (NULL, 'uri', 'توضيحات', 'نام')");if($result>0)    echo 'تغغيرات ثبت شد';  else  echo 'تغييرات ثبت نشد'
    * توي کلاسها چارست پيشفرض روي utf8 هست .
    * نکته پاياني اينکه کلاسهاي استاتيک نياز به نمونه گيري ندارن


    با تشکر رضا شيخله

  2. تعداد تشکر ها ازrezaonline.net به دلیل پست مفید


  3. # ADS




     

  4. #22
    عضو انجمن rezaonline.net آواتار ها
    تاریخ عضویت
    Apr 2012
    محل سکونت
    Sanandaj | Tehran
    نوشته ها
    939
    تشکر تشکر کرده 
    1,556
    تشکر تشکر شده 
    2,338
    تشکر شده در
    1,230 پست

    پیش فرض پاسخ : معرفی توابع و کلاس های کاربردی php

    با سلام دوستان
    گاهي اوقات لازم شده يه اسکريپت رو از يه جا دانلود کنيد بعد روي هاستتون آپلود کنيد و استفاده کنيد .
    عامل تاخير سرعت در اينحالت ميشه سرعت اينترنت شما ، چون بايد اول فايل رو دانلود کنيد و بعد آپلود
    مديراي سرورها که با يه دستور لينوکس همه ي چيو اينور اونور ميکنن اما ما که مدير نيستيم
    خب راه حل اينکه با استفاده از تابع file_get_contents فايل رو بگيريم و با fwrite اونو بنويسيم !
    اينجوري نيازي به دانلود و آپلود فايل نيست و علناً داريم از سرور استفاده ميکنيم که معمولاً سرعتش در حد خداست
    * نکته لازم اينکه بايد فايل حتماً لينک مستقيم باشه !
    سرتون رو درد نيارم يک فايل به اسم مثلاً getfile.php بسازيد و دستورات زير رو توش بذاريد
    کد PHP:
     <meta http-equiv=Content-Type content='text/html; charset=utf-8' /><style>.red{color:red;font-weight:bold;}.green{color:green;font-weight:bold}span{display:block;padding:2px;}a{text-decoration:none;color:darkorange;font-family:tahoma;font-size:8pt;text-shadow:1px 1px 0 rgb(250,250,250)}</style><form method=post action=<?php echo basename(__FILE__);?>><div style='direction:rtl;font-family:tahoma;font-size:8pt;margin:0 auto; padding:25px; width:800px;color:gray'>آدرس کامل فايل : <input name=addr type=text dir=ltr size=100 value='http://' ><br>قرار دادن در شاخه : <input name=dir type=text dir=ltr size=100 value="<?php echo dirname(__FILE__)?>/" ><input type=hidden name=ok value=ok ><br><br><input type=submit style='background:#FFF;border:1px solid gray;font-family:tahoma' value='انتقال بده' /></form><?phpif(isset($_POST['ok'])){    $content = file_get_contents(trim($_POST['addr']));    @mkdir($_POST['dir'].'/', 0755);    $fp = fopen($_POST['dir'].basename($_POST['addr']), "wb");    if (!$fp)         echo '<span class=red>انتقال انجام نشد احتمالاً خطا از فايل يا دايرکتوري است .</span>';    else        echo '<span class=green>فايل ساخته شد . </span>';    fwrite($fp, $content);    fclose($fp);}?></div><center><a href='http://rezaonline.net/blog' target=_blank>RezaOnline.Net</a></center>
    حالا به آدرس اون فايل بريد مثلاً http://mysite.ir/getfile.php
    دو تا فيلد هست بالاييش آدرس لينک مستقيم فايل مورد نظر
    پائينيش شاخه اي که بايد توش قرار بگيره که پيشفرض بغل دست همون فايل getfile.php قرار ميگيره
    اگه ميخوايد توي پوشه جديد باشه کافيه اسم پوشه رو به انتهاي قرار دادن در شاخه اضافه کنيد و يک / هم بذاريد بغل دستش

    * يه حرف در گوشي : بعضي از فايلها و عکسها هستن که عمو قـ ـيلتـ ـر چي ، چيزشون کرده ، با اين روش ميتونيد اونم دور بزنيد

    کنکوريهاش بزن لايکو

  5. تعداد تشکر ها ازrezaonline.net به دلیل پست مفید


  6. #23
    عضو انجمن amirlord آواتار ها
    تاریخ عضویت
    Jul 2010
    نوشته ها
    802
    تشکر تشکر کرده 
    1,304
    تشکر تشکر شده 
    2,008
    تشکر شده در
    1,149 پست

    پیش فرض پاسخ : معرفی توابع و کلاس های کاربردی php

    سلام
    در صفحات قبل تابع str_replace رو معرفی کرده بودم که کار جستجو و جایگزین کردن رو انجام میداد .
    اما ما اگر بخوایم تعداد زیادی کاراکتر رو جاشون رو با هم عوض کنیم استفاده از این تابع زمان بر خواهد شد و ما ملزم به این هستیم که هر یک از کاراکتر هارو توی یه متغیر تعریف کنیم و یا بصورت آرایه در بیاریم .
    تابعی که امروز معرفی میکنم strtr نام داره .
    کد PHP:
    string strtr string $str string $from string $to 
    3 متغیر داره .
    متغیر اولی متن ما هست که میخوایم توش عمل ری پلیس رو انجام بدیم .
    متغیر دومی تمامی کاراکتر هایی که میخوایم پیدا کنیم رو پشت سر هم می نویسیم .
    متغیر سوم هم تمام کاراکتر هیی که به جای متغیر دوم باید جایگزین بشن رو پشت سر هم می نویسیم .

    مثال :
    کد:
    <?phpecho strtr("Hilla Warld","ia","eo");
    ?>
    خروجی :
    کد:
    Hello World


    PHP strtr() Function
    PHP: strtr - Manual

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


  8. #24
    عضو انجمن rezaonline.net آواتار ها
    تاریخ عضویت
    Apr 2012
    محل سکونت
    Sanandaj | Tehran
    نوشته ها
    939
    تشکر تشکر کرده 
    1,556
    تشکر تشکر شده 
    2,338
    تشکر شده در
    1,230 پست

    پیش فرض پاسخ : معرفی توابع و کلاس های کاربردی php

    استفاده از یک آمارگیر نیمه اختصاصی !


    دوستانی که بازدیدهای خیلی زیادی دارن و همچنین از افزونه های آمارگیر استفاده میکنن حتماً میدونن که این افزونه ها به نوعی فشار اضافه ای به سرور میاره !
    چه خوب میشد اطلاعات بازدید ما رو یه سرور دیگه پردازش کنه و ما فقط نشون بدیم !
    سرتون رو درد نیارم سایت pichak.net یک آمارگیر ساده گذاشته که همه میتونن به راحتی استفاده کنن
    به آدرس !...آمارگیر جدید پيچك...! PICHAK برید و روی دریافت کد کلیک کنید .
    یه سری کد عجق وجق بهتون میده که میگه یه جای قالبتون کپی کنید که البته حرفش منطقیه اما ما میخوایم خودمون اطلاعات بازدیدها رو هر جور دلمون میخواد بچینیم !
    پس نیازی به کپی کردن اون فیلها نیست !
    توی اون کدها بگردید مقدار برابر id رو در بیارید
    .... ?color=3e3e3e&bgcolor=fff5d8&id=hfjjpyv1en&borderc =3e3e3e ...
    مثلاً این کد مقدار id ایش hfjjpyv1en هست .


    حالا یه تابع خوشکلی که نوشتم رو توی برنامه تون بذارید
    کد PHP:
    function pichak($id 'aabbcc')    {        $url 'http://www.pichak.net/statistics/code/amar.php?color=3e3e3e&bgcolor=fff5d8&id='.$id;                    if(function_exists('curl_init'))        {            $handle curl_init();            curl_setopt($handle,CURLOPT_URL,$url);            curl_setopt($handleCURLOPT_RETURNTRANSFERTRUE);            $stat_page curl_exec($handle);            curl_close($handle);                    }else            @$stat_page file_get_contents($url);                        $output = array();        preg_match('@&nbsp;&nbsp;افراد آنلاين: <b>(.*)</b> نفر@',$stat_page,$out);        @$output['useronline'] = $out[1];                preg_match('@&nbsp; بازديد امروز: <b>(.*)</b> نفر@',$stat_page,$out);        @$output['today'] = $out[1];                preg_match('@&nbsp; بازديد دیروز: <b>(.*)</b> نفر@',$stat_page,$out);        @$output['yesterday'] = $out[1];                preg_match('@&nbsp; بازديد ماهانه: <b>(.*)</b> نفر@',$stat_page,$out);        @$output['monthly'] = $out[1];                preg_match('@&nbsp; بازديد سالانه: <b>(.*)</b> نفر@',$stat_page,$out);        @$output['yearly'] = $out[1];                preg_match('@&nbsp; بازديد كل: <b>(.*)</b> نفر@',$stat_page,$out);        @$output['all'] = $out[1];                    if(!is_array($output) && !is_array($out) && !$out)                return '';                    return $output;    } 
    حالا اون آی دیه یادتون هست اینجوری ازش استفاده کنین
    کد PHP:
    <?php $pichak_stat pichak("hfjjpyv1en"); ?>   <table>          <tr><td>افراد آنلاین :</td><td><?php echo $pichak_stat['useronline'];?></td></tr>          <tr><td>بازدید امروز :</td><td><?php echo $pichak_stat['today'];?></td></tr>          <tr><td>بازدید دیروز :</td><td><?php echo $pichak_stat['yesterday'];?></td></tr>          <tr><td>بازدید ماهانه :</td><td><?php echo $pichak_stat['monthly'];?></td></tr>          <tr><td>بازدید سالانه :</td><td><?php echo $pichak_stat['yearly'];?></td></tr>          <tr><td>بازدید کل :</td><td><?php echo $pichak_stat['all'];?></td></tr>    </table>
    لازم به ذکره شمارش آمار در سایت شما هیچ ردپایی از pichak.net رو نمیذاره اما در باطن پردازش اطلاعات روی دوش اون سایته !

    کنکوریهاش بزن لایکو

  9. تعداد تشکر ها ازrezaonline.net به دلیل پست مفید


  10. #25
    عضو انجمن amirlord آواتار ها
    تاریخ عضویت
    Jul 2010
    نوشته ها
    802
    تشکر تشکر کرده 
    1,304
    تشکر تشکر شده 
    2,008
    تشکر شده در
    1,149 پست

    پیش فرض پاسخ : معرفی توابع و کلاس های کاربردی php

    سلام
    دوتا تابع کاربردی از آرشیو پیدا کردم که مربوط به اوایل یادگیری پی اچ پی من بود که ساده هستند ولی به شدت کاربردی .
    تابع محاسبه مبلغ با تخفیف با گرفتن درصد تخفیف + مبلغ کل :

    کد PHP:
    function percent($percent$total) {$forreturn $percent 100 $total;$ncost $total $forreturn;return $ncost;} 


    تابعی که با دادن حداقل ، حداکثر و مبلغ مورد موردنظر به ما میگه که آیا مبلغ بین minimum و maximum و یا مساوی اونها هست یا نه .

    کد PHP:
    function ifpc($min,$max,$cost) {if ($max $cost || $max == $cost ) {if ($min $cost || $min == $cost){return true;} else {return false;}} else {return false;}} 
    این توابع توی کد های حسابداری کاربرد زیادی دارند . سعی میکنم از این دست توابع بازم بذارم .
    موفق باشید .

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


  12. #26
    عضو انجمن amirlord آواتار ها
    تاریخ عضویت
    Jul 2010
    نوشته ها
    802
    تشکر تشکر کرده 
    1,304
    تشکر تشکر شده 
    2,008
    تشکر شده در
    1,149 پست

    پیش فرض پاسخ : معرفی توابع و کلاس های کاربردی php

    سلام
    یه سر میزنم به ورودی ها !
    فرض میکنیم قراره یه لیست ایمیل دریافت کنیم و اونارو بصورت هر کدوم تو یه رکورد در دیتابیس ثبت کنیم .
    خیلی سخت و یا حتی غیر ممکنه که برای دریافت هر ایمیل در html یک فیلد تعریف کنیم و سپس در php جداگونه دریافت کنیم !
    خوب میایم یه دونه فیلد میذاریم و به کاربر میگیم که ایمیل هارو با " " ( فاصله ) یا "," یا ... جدا بکنه .
    خوب مشکل اینجاست که وقتی ورودی ها اومد توی php چطوری هر کدوم از ایمیل هارو بفرستیم داخل آرایه ؟
    تابعی هست به نام explode که این کارو انجام میده .

    ساختار تابع :
    کد PHP:
    array explode string $delimiter string $string [, int $limit ] ) 
    این تابع 3متغیر ورودی داره .
    متغیر اولی delimiter : این همون کاراکتری هست که ما برای جدا سازی ازش استفاده کردیم !
    متغیر دومی string : درواقع همون ورودی کل ایمیل ها هست .
    متغیر سومی limit که اختیاری هست و بصورت int ورودی می پذیره : این کار محدود سازی تعداد آرایه هارو انجام میده . مثلا ما فقط 100تا متغیر تو آرایه نیاز داریم . حالا اگه کاربر 250 تا ایمیل هم بزنه 100تاش میاد تو آرایه .

    مثال :
    کد:
    $pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
    $pieces = explode(" ", $pizza);
    echo $pieces[0]; // piece1
    echo $pieces[1]; // piece2

    PHP: explode - Manual

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


  14. #27
    عضو جدید RPaiNA آواتار ها
    تاریخ عضویت
    Mar 2012
    محل سکونت
    THR
    نوشته ها
    35
    تشکر تشکر کرده 
    67
    تشکر تشکر شده 
    10
    تشکر شده در
    8 پست

    4 پاسخ : معرفی توابع و کلاس های کاربردی php

    کار همتون درسته!!!

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


  16. #28
    عضو انجمن parsspace آواتار ها
    تاریخ عضویت
    Dec 2009
    نوشته ها
    264
    تشکر تشکر کرده 
    75
    تشکر تشکر شده 
    535
    تشکر شده در
    312 پست

    پیش فرض پاسخ : معرفی توابع و کلاس های کاربردی php

    باحال ترین تابع php اینه nl2br

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


  18. #29
    عضو انجمن amirlord آواتار ها
    تاریخ عضویت
    Jul 2010
    نوشته ها
    802
    تشکر تشکر کرده 
    1,304
    تشکر تشکر شده 
    2,008
    تشکر شده در
    1,149 پست

    پیش فرض پاسخ : معرفی توابع و کلاس های کاربردی php

    نقل قول نوشته اصلی توسط parsspace نمایش پست ها
    باحال ترین تابع php اینه nl2br
    با تشکر از شما .

    خدمت اون کاربرانی که با تابع nl2br آشنا نیستند .
    تابع nl2br کار حفظ فواصل و اینتر هایی که بین متن زده میشه رو انجام میده . با خروجی دادن تگ های مناسب html .
    یعنی اگر یه textarea داشته باشیم و بخوایم اونو POST کنیم نمیتونیم فواصل و اینتر هارو تشخیص بدیم ! یعنی همش پشت سر هم میاد . ولی وقتی تابع nl2br رو روش اعمال میکنیم مثلا به کمک تگ <br> کار اینتر رو انجام میده .

    ساختار تابع :
    کد PHP:
    string nl2br string $string [, bool $is_xhtml true ] ) 
    PHP: nl2br - Manual
    PHP nl2br() Function

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


  20. #30
    عضو انجمن parsspace آواتار ها
    تاریخ عضویت
    Dec 2009
    نوشته ها
    264
    تشکر تشکر کرده 
    75
    تشکر تشکر شده 
    535
    تشکر شده در
    312 پست

    پیش فرض پاسخ : معرفی توابع و کلاس های کاربردی php

    ایول کارت درسته پس این ۲ تارم بگو تا تکمیل شن تو این روزا که بازار وب ۳ ۴ ۵ ۶ ۷ ... گرمه کارایی بالایی داره
    json_encode
    json_decode

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


صفحه 3 از 5 نخستنخست 12345 آخرینآخرین

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

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

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

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

  1. درخواست افزونه پیش فاکتور و فاکتور وردپرس
    توسط Jai در انجمن درخواست انواع ماژول،پلاگین،قالب،امکانات سفارشی
    پاسخ ها: 2
    آخرين نوشته: February 13th, 2017, 10:36
  2. پاسخ ها: 21
    آخرين نوشته: June 11th, 2016, 12:59
  3. پاسخ ها: 0
    آخرين نوشته: December 26th, 2015, 11:40
  4. توجه توجه .نویسندگی سایت های جور وا جور .توجه توجه
    توسط ko9ol30 در انجمن به دنبال کار هستم
    پاسخ ها: 0
    آخرين نوشته: June 20th, 2015, 12:21
  5. درخواست سرور مجازی ویندوز برای تورنت و تورنت دادن و گرفتن
    توسط Daniel4u در انجمن درخواست سرور مجازی
    پاسخ ها: 9
    آخرين نوشته: September 21st, 2012, 11:24

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

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