** کینگ کد : بزرگترین مرجع دانلود سورس کد های برنامه نویسی اندروید، ویندوز و جدید ترین اسکریپت های روز دنیا **
-----------------------------------------------
** سورس فروشگاه اینترنتی مارکیت فارسی برای اندروید - سورس فروشگاه اینترنتی موکتز فارسی برای اندروید **
-----------------------------------------------
** اسکریپت چیست؟ و چگونه از آن استفاده کنیم؟ (آموزش کامل نصب اسکریپت) **
-----------------------------------------------
** (160 جلسه) آموزش کامل و 0 تا 100 برنامه نویسی PHP **
-----------------------------------------------
** دانلود فیلم آموزشی فتوشاپ فارسی **
-----------------------------------------------
» بروزترین سایت ایرانی محصولات کدکنیون ( سایت /https://codemilo.ir )
» Cicool – Page, Form, Rest API and CRUD Generator
» KingArchitect | Property Portfolio & Real Estate React Template – No JQuery
» Sheltos – Real Estate React Next Js with Redux Toolkit , React Hooks & API Routes Template
» Acres – Real Estate React Template
» Mingrand – Real Estate React Template
» ChawkBazar – Elementor Lifestyle and Fashion Ecommerce Theme
» Streamit 3.0 | Video Streaming WordPress Theme + RTL
» MagicAI – OpenAI Content, Text, Image, Chat, Code Generator as SaaS
» PHP Form Generator – Codeigniter 4 Form Master, Form Header Detail, User Management, Multi-language
» بروزترین سایت ایرانی محصولات کدکنیون ( سایت /https://codemilo.ir )
» Cicool – Page, Form, Rest API and CRUD Generator
» KingArchitect | Property Portfolio & Real Estate React Template – No JQuery
» Sheltos – Real Estate React Next Js with Redux Toolkit , React Hooks & API Routes Template
» Acres – Real Estate React Template
» Mingrand – Real Estate React Template
» ChawkBazar – Elementor Lifestyle and Fashion Ecommerce Theme
» Streamit 3.0 | Video Streaming WordPress Theme + RTL
» MagicAI – OpenAI Content, Text, Image, Chat, Code Generator as SaaS
» PHP Form Generator – Codeigniter 4 Form Master, Form Header Detail, User Management, Multi-language
آموزش php
با استفاده از روش GET در PHP ، می توانیم مقدار متغیرها را از یک صفحه به صفحه ای دیگر، ارسال نماییم. مهمترین مشخصه روش GET این است که مقدار و نام متغیری که ارسال می کنیم، در آدرس URL صفحه گیرنده مقدار (URL همان آدرسی است که در بالای مرورگر اینترنت نمایش داده می شود)، نمایش داده می شود. بنابراین، این روش برای ارسال مقدار متغیرهای مهمی مثل پسوردها و اطلاعات شخصی افراد یا سایت، اصلا مناسب نمی باشد. اما در عوض، یک نکته مهم وجود دارد و آن این است که سایت های جستجوگر اینترنت (مثل گوگل)، برایشان مهم است که در آدرس URL ، چه کلماتی به کار رفته است و بنابراین اگر شما با روش GET ، کلمات کلیدی صفحات را در آدرس URL قرار بدهید، شانس نمایس صفحات شما در رتبه های بالاتر نتایج جستجو (در گوگل و سایر سایت ها) بیشتر می شود. البته این نکات را از نظر بهینه سازی سایت (seo) تذکر دادیم، وگرنه هدف اصلی، انتقال مقدار متغیرها از یک صفحه به صفحه ای دیگر است که یکی از باارزش ترین قابلیت های PHP می باشد. در صورت تمایل، می توانید در آموزش های دیگر، روش POST را نیز بررسی کنید که برای ارسال مقادیر متغیرها، به روشی متفاوت، به کار می رود (برای ارسال اطلاعات مهم و سری، از روش POST استفاده می شود).
با استفاده از اشاره گرها (pointers) در PHP ، می توانیم به عناصر یک آرایه ارجاع بدهیم (اشاره کنیم). این نوع ارجاع (اشاره) به گونه ای است که آزادی عمل زیادی خواهیم داشت. مثلا اگر به یک عنصر از یک آرایه، ارجاع داده ایم (برای عنصر فعلی، کلمه current به کار می رود)، با کلمه next ، می توانیم اعلام کنیم که به عنصر بعد از آن در آرایه ارجاع داده شود. همچنین کلمه reset ، برای ارجاع به اولین عنصر آرایه می باشد (به نحوی، بازگشت به اولین عنصر خواهد بود). برای آشنایی با نحوه استفاده از اشاره گرها (pointers) در PHP .
فرض کنید در PHP ، یک حلقه ساخته ایم که در آن، تعدادی دستور اجرا می شود. ممکن است بخواهیم که تحت یک سری شرایط خاص، اجرای دستورات حلقه، متوقف شده و PHP ، از آن حلقه عبور کرده و ادامه دستورات فایل را اجرا نماید. برای این منظور، باید از دستور break استفاده کنیم.
همان طور که می دانید، هر حلقه که در PHP می سازیم (با دستوراتی مثل for و while و foreach)، دارای تعدادی گام می باشد. چنانچه بخواهیم که تحت یک سری شرایط خاص، تنها بخشی از دستورات یک گام اجرا گردد، باید از دستور continue استفاده نماییم.
فرض کنید که می خواهیم یک حلقه بسازیم که در آن، هر بار، یک عنصر از آرایه مورد نظر ما، فراخوانی شده و عملیات هایی را بر اساس آن انجام بدهیم، برای این منظور، باید از دستور foreach در PHP استفاده کنیم.
برای آشنایی با نحوه استفاده از دستور foreach در PHP ، به مثال زیر توجه کنید :
1 2 3 4 5 6 7 8 |
<?php $numbers = array(4,2,5,9,7,6); foreach($numbers as $this_number){ $a = $this_number * 2; echo($a); echo("<br />"); } ?> |
با دقت به نحوه استفاده از دستور foreach توجه نمایید. قبل از دستور foreach ، ابتدا آرایه ای با نام numbers را تعریف کرده ایم. سپس برای اینکه بتوانیم از دستور foreach برای فراخوانی تک تک عناصر آرایه numbers استفاده نماییم، شکل کلی زیر را به کار برده ایم :
1 2 3 |
foreach($numbers as $this_number){ // اجرا می شوند $this_number دستوراتی که بر اساس } |
این شکل کلی، اعلام کرده است که یک حلقه ساخته شود که در آن، هر بار، یک عنصر از آرایه numbers فراخوانی شود و نام آن (برای استفاده در حلقه)، برابر this_number در نظر گرفته شود. سپس درون حلقه، دستوراتی را بر اساس نام this_number می نویسیم که باعث می شود که این دستورات، بر اساس عناصر آرایه numbers اجرا گردند (ما در این مثال، عناصر را از آرایه گرفته و ضرب در 2 می کنیم و در یک متغیر با نام a ، ذخیره می نماییم و مقدار آن را نیز در خروجی چاپ می کنیم).
1 2 3 4 5 6 |
8 4 10 18 14 12 |
با استفاده از تابع phpinfo در PHP ، می توانیم اطلاعات و مشخصات مربوط به نسخه PHP نصب شده بر روی سیستم را مشاهده کنیم. این تابع، می تواند به عنوان اولین تابع برای چک کردن صحیح نصب شدن PHP ، به کار برود. نحوه کدنویسی به صورت زیر می باشد :
1 2 3 |
<?php phpinfo(); ?> |
توصیه می شود که این تابع را در ساختار سایت خود به کار نبرید، تا دیگران نتوانند اطلاعات مربوط به سیستم شما را ببینند.
ممکن است نیاز داشته باشیم که بدانیم، آدرس URL صفحه فعلی چیست. یعنی متوجه بشویم که صفحه فعلی که اکنون در حال اجرا شدن است و کاربر آن را می بیند، دارای چه آدرس URL ای می باشد (آدرس اینترنتی این صفحه).
برای این منظور، باید کدهای PHP زیر را بنویسیم :
1 2 3 |
<?php $fullurl = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; ?> |
توسط کد PHP بالا، آدرس URL فعلی، در متغیر $fullurl ذخیره خواهد شد.
به مثال زیر توجه کنید :
1 2 3 4 |
<?php $fullurl = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; echo($fullurl); ?> |
دقت کنید که به این دلیل، آدرس زیر با آدرسی که در مرورگر خود مبینید متفاوت است که من کدها را در یک صفحه دیگر نوشته ام و سپس نتیجه را در اینجا نمایش داده ام (با ارجاع به آن صفحه). بنابراین آدرس نمایش داده شده، آدرس واقعی صفحه می باشد :
1 |
http://kingcode.ir/php-education/example/example-95.php |
با استفاده از تابع rand در PHP ، می توانیم اعداد تصادفی تولید کنیم. اگر درون پرانتز تابع rand ، هیچ عددی ننویسیم، آنگاه یک عدد دلخواه را بر می گرداند (حداکثر و حداقلی برای آن تعیین نکرده ایم)، اما ما می توانیم حداکثر و حداقل مجاز برای تولید عدد تصادفی را تعیین کنیم که این دو مقدار را باید درون پرانتز تابع rand بنویسیم.
در میان کدهای PHP ، دستورات را می توان به دو شیوه نوشت. شیوه اول، نوشتن دستورات PHP به صورت تک خطی می باشد. در این حالت، در پایان هر دستور، علامت ; نوشته می شود.
به مثال 1 زیر توجه کنید :
1 2 3 |
<?php echo("hello"); ?> |
نتیجه :
1 |
hello |
در PHP ، برای تبدیل یک رشته (string) با ساختار json به یک آرایه (Array)، از تابع json_decode استفاده می شود.
به مثال زیر توجه کنید :
1 2 3 4 5 |
<?php $my_json_string = '{"A":1,"B":2,"C":3,"D":4,"E":5,"F":6,"G":7}'; $my_array = json_decode($my_json_string, true); var_dump($my_array); ?> |
نتیجه :
1 |
array(7) { ["A"]=> int(1) ["B"]=> int(2) ["C"]=> int(3) ["D"]=> int(4) ["E"]=> int(5) ["F"]=> int(6) ["G"]=> int(7) } |
با استفاده از تابع json_encode در PHP ، می توانیم یک آرایه (Array) را به ساختار JSON تبدیل کنیم.
به مثال زیر توجه کنید :
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $my_array = array('A' => 1, 'B' => 2, 'C' => 3, 'D' => 4, 'E' => 5, 'F' => 6, 'G' => 7 ); $my_array_json_encoded = json_encode($my_array); echo $my_array_json_encoded; ?> |
1 |
{"A":1,"B":2,"C":3,"D":4,"E":5,"F":6,"G":7} |
با استفاده از کتابخانه CURL در PHP ، می توانیم پاسخ یک صفحه اینترنتی (یک URL) را دریافت کرده و در یک متغیر ذخیره کنیم. دقت شود که پاسخ صفحه، همان کدهای صفحه (Source Code) می باشد.
چنانچه بخواهیم که پارامترهایی را بر اساس روش POST به صفحه ارسال کنیم، باید ابتدا تابعی به صورت زیر تعریف کنیم :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<?php function httpPost($url,$params){ $postData = ''; //create name value pairs seperated by & foreach($params as $k => $v){ $postData .= $k . '='.$v.'&'; } rtrim($postData, '&'); $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch,CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_POST, count($postData)); curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); $output=curl_exec($ch); curl_close($ch); return $output; } ?> |
سپس به صورت زیر، پاسخ URL مورد نظرمان را در یک متغیر ذخیره می کنیم (پارامترهایی که قصد داشته ایم با روش POST ارسال شوند را در یک آرایه (array) تعریف کرده ایم) :
1 2 3 4 5 6 7 8 9 |
<?php $params = array( "name" => "hamid", "age" => "20", "city" => "tehran" ); $page_source = httpPost("http://www.kingcode.ir/index.php",$params); var_dump($page_source); ?> |
با استفاده از کتابخانه CURL در PHP ، می توانیم پاسخ یک صفحه اینترنتی (یک URL) را دریافت کرده و در یک متغیر ذخیره کنیم. دقت شود که پاسخ صفحه، همان کدهای صفحه (Source Code) می باشد.
چنانچه بخواهیم که پارامترهایی را بر اساس روش GET به صفحه ارسال کنیم، باید پارامترها را به همان شکل روش GET در آدرس URL صفحه ذکر کرده و سپس پاسخ صفحه را دریافت کنیم، بنابراین کدی که در این مبحث ارائه می شود، برای زمانی که قصد نداریم هیچ پارامتری را به صفحه ارسال کنیم نیز مناسب می باشد.
ابتدا تابعی به صورت زیر تعریف می کنیم :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php function httpGet($url){ $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); // curl_setopt($ch,CURLOPT_HEADER, false); $output=curl_exec($ch); curl_close($ch); return $output; } ?> |
سپس به صورت زیر، پاسخ URL مورد نظرمان را در یک متغیر ذخیره می کنیم :
1 2 3 4 |
<?php $page_source = httpGet("http://www.kingcode.ir"); var_dump($page_source); ?> |
هنگام استفاده از شبیه ساز XAMPP ، اگر بخواهیم یک فایل پایگاه داده بزرگ را در phpmyadmin وارد (import) کنیم، به دلیل برخی محدودیت های تعیین شده، ممکن است که با خطاهایی مثل موارد زیر روبرو شویم :
1 |
Maximum execution time of 300 seconds exceeded |
یا :
1 |
Script timeout passed, if you want to finish import, please resubmit same file and import will resume. |
هنگام استفاده از شبیه ساز Wampserver ، اگر بخواهیم یک فایل پایگاه داده بزرگ را در phpmyadmin وارد (import) کنیم، به دلیل برخی محدودیت های تعیین شده، ممکن است که با خطاهایی مثل موارد زیر روبرو شویم :
1 |
Maximum execution time of 300 seconds exceeded |
یا :
1 |
Script timeout passed, if you want to finish import, please resubmit same file and import will resume. |