رفتن به مطلب
محفل من
Mostafa

آموزش گام به گام PHP

پست های پیشنهاد شده

با سلام خدمت کاربران عزیز جهت کاربران علاقه مند به برنامه نویسی تصمیم گرفتم که آموزش های گام به گام برنامه نویسی را قرار دهم، لذا از این رو ابتدا از زبان برنامه نویسی تحت وب PHP شروع می کنم و امیدوارم دوستان با نظرات خود باعث دلگرمی بنده شوند.

دوستانی که در آموزش ها مشکل داشتند می توانند در انجمن مطرح نمایند.

به نام خداوند بخشنده و مهربان

انواع داده در PHP

داده‌ها در php به انواع مختلف تقسیم می‌شوند:

۱- رشته‌ای، String

۲- اعداد صحیح، Integer

۳- اعداد ممیز شناور ، Floating point number

۴-بولین ،Boolean

۵- آرایه ،Array

۶- شی، Object

۷- تهی، Null

حال به بررسی تک تک این داده‌ها می‌پردازیم.

داده‌های String در PHP

یک رشته، یک سری کاراکتر است. یک استرینگ می‌تواند هر نوع متنی باشد.

مانند: “!Hello World”

یک مثال در PHP مشاهده کنید.

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

خروجی این دستور متن زیر است:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

داده‌های Integer در PHP

تمام اعداد به غیر از اعداد اعشاری شامل اعداد صحیح می‌شوند.

در مثال زیر مدل‌های مختلف اعداد صحیح را مشاهده می‌کنیم. که برای نمایش نوع داده در خروجی از دستور ($)var_dump استفاده می‌کنیم.

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

خروجی دستور بالا به صورت زیر نمایش داده می‌شود:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

در این خروجی دستور( )var_dump باعث نمایش int که نوع داده است و همچنین عدد مقابل آن را نمایش می‌دهد.

داده‌های Floating Point Number در PHP

عدد با ممیز شناور می‌تواند به صورت اعشاری  یا نمایی نوشته شود.

در نوشتن این داده‌ها در PHP از ( )var_dump  استفاده می‌شود.

مثال زیر را برای اعداد با ممیز شناور مشاهده کنید:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در مثال ذکر شده همانند مثال قبل var_dump برای نمایش نوع داده و عدد مقابل آن است.
در خروجی این مثال هم اعداد اعشاری می‌بینید و هم عدد نمایی. به خروجی مثال دقت کنید:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

داده‌های Boolean در PHP

بولین یک دستور منطقی است که تنها درست یا غلط بودن داده‌ها در PHP نشان می‌دهد

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

دستور بولین در بیشتر مواقع، شرایط را بررسی می‌کند که در درس‌های آتی بیشتر در مورد آن توضیح می‌دهیم.

داده‌های Array در PHP

آرایه‌ها چند مقدار را در یک متغیر نمایش می‌دهند. هنگامی که مقادیر ما بسیار زیاد است، استفاده از آرایه بهترین کزینه است.

در مثال زیر یک آرایه ایجاد کردیم و با استفاده از ( )var_dump نوع  و مقدار داده ‌ها را نمایش می‌دهیم.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

حال خروجی مثال بالا را بررسی کنیم.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

اگر به خروجی دقت کنید، مشاهده می‌کنید ابتدا دستور var_dump نوع داده‌‌ها در  PHP مشخص  و سپس دستور آرایه، تعداد آن را بیان کرده است، در ادامه نوع و تعداد داده‌های استفاده شده در آرایه  یعنی Volvo، BMW، Toyota را نیز بیان می‌کند.

تنها یک سوال باقی می‌ماند، اعداد واقع شده در علامت‌های [ ] بیان کننده چه هستند؟

در آرایه ها جایگاه عناصر از ۰ شمارش می‌شود، به همین دلیل درعلامت‌های [ ] اعداد صفر و سپس ۱ و ۲ را چاپ نموده است.

در اینجا تنها اشاره کوچکی به قوانین آرایه ها کردیم تا در بخش های آتی بیشتر راجع به آرایه‌ها توضیح دهیم.

 داده‌های Object در PHP

یک شی نوعی داده است که اطلاعاتی را درباره چگونگی پردازش داده‌ها ذخیره می‌کند.

در پی اچ پی، شی باید به صورت واضح بیان شده باشد. ابتدا ما باید یک کلاس برای یک شی اعلام کنیم، که با کلمه کلیدی class بیان می‌شود که شامل خواص، ویژگی‌ها و روش‌ها است. سپس با معرفی نوع داده در کلاس شی به استفاده از آن در مواقعی که می‌خواهیم، می‌پردازیم. در ادامه تدریس با مدل نوشتن class و Obj (آبجکت) بیشتر آشنا می‌شویم.

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

داده‌های NULL درPHP

تهی نشان دهنده این است که  آن داده‌ها درPHP ارزش ندارد و NULL تنها روش نشان دادن این است که آن مقدار ارزشی برابر با تهی دارد. این دستور برای تمایز بین رشته‎‌هایی که خالی هستند و ارزش‌های پوچ در پایگاه داده استفاده می‌شود.

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

 

خروجی دستور بالا به صورت زیر است:

NULL

تنها var_dump  نوع داده‌ها در PHP را بیان می‌کند ولی برای آن هیچ ارزشی قائل نمی‌شود.

متغیرها در PHP

دو قانون کلی برای متغیرها در PHP

نام متغیرها تنها میتوانند حروف انگلیسی (a-z یا A-Z)، اعداد ۰-۹ و زیر خط (آندلاین) _ را شامل شود.

نام متغیر هیچ گاه نمیتواند با عدد شروع شود.

به مثال زیر دقت کنید

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

همان طور که  در مثال بالا مشاهده می‌کنید سه متغیر y، x و z  تعریف شده‌اند. هر یک از این متغیرها در PHP یک داده را معرفی می‌کند. x عدد ۵، y عدد ۶ و z حاصل جمع این دو عدد را بیان می‌کند و در نهایت اطلاعاتی که ما می‌خواهیم به چاپ رسانیم متغیر z است.

اگر دقت کنید متوجه می‌شوید که متغیر z بین علامت‌های ” ” قرار نگرفته است، تنها دلیل این است که  z یک متغیر رشته‌ای و یا در حقیقت متن نیست و جنس عدد است.

خروجی دستور بالا به صورت زیر تنها یک عدد که حاصل جمع ۵ و ۶ است نمایش داده می‌شود و برابر است با:

۱۱

حال یک مثال دیگر را بررسی می‌کنیم.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

خروجی دستور بالا به صورت زیر است:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

دستور اول چاپ متغیر txt را خواستار شده است و در ادامه متغیر x وy را نمایش می‌دهد.

متغییرهای Local و Global  در PHP

متغیرهای Local یا متغیرهایی محلی، جزو دسته ای از متغیرها در PHP هستند که باید در داخل تابع تعریف می‌شوند، در غیر این صورت در هیچ داده ای نمایش داده نمی‌شود و متغیرهای Global یا متغیرهای جهانی، متغیرهایی هستند که با تعریف آن‌ها در خارج از تابع می‌توانیم به آن‌ها سترسی داشته باشیم.

در باره‌ی تابع یا Function در ادامه بیشتر توضیح می‌دهیم، برای آشنایی می‌توانیم به این موضوع اشاره کنیم که تابع  دارای یک سری ورودی و خرجی است. در PHP همانند نرم‌افزارهای دیگر از تابع برای جلوگیری از روند تکرار توابع مثلا ضرب، جمع یا … یک بار آن ها را در Function نوشته  و هر بار که نیاز شد آن را صدا می‌کنیم

یک مثال را بررسی می‌کنیم، به متغیرهای Local و Global  دقت کنید

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

خروجی دستور بالا به صورت زیر نمایش داده می‌شود

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

در مثال بالا x متغیر Global و y متغیر  Local می‌باشد، یک بار متغیر محلی را برای چاپ صدا زده است و بار دیگر متغیر جهانی را برای چاپ صدا زده است. به همین دلیل در مورد اول در مقابل variable x is خالی است و در مورد دوم در مقابل Variable y is هیچ داده ای نمایش داده نشده است.

در  PHP می‌توانیم برای ذخیره متغیرهای جهانی  از آرایه‌های [ Global[index$  استفاده کنیم

ویژگی این متغیرها  در PHP را با یک مثال  مشاهده کنیم

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

خروجی دستور بالا عدد ۱۵ است و تنها مدل نوشتن دستورها تغییر کرده ولی  خروجی دستور تغییری نمی‌کند.

 متغیر static درphp

هر گاه  به متغیرها در PHP بخواهیم یک مقدار اولیه بدهیم و تنها یک بار این متغیر اولیه اجرا شود و  در ادامه که آن را صدا میزنیم مقدار آخری که از تابع بدست آمده را جایگزین مقدار اولیه و بعد دستور را اجرا کند از متغیر static استفاده می‌کنیم.

در روش استفاده از Static خواسته شده که  متغیر Global حذف شود.

به مثال زیر دقت کنید.

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

 

در این مثال به متغیر استاتیک x مقدار اولیه ۰ را داده ایم و خواستیم که  x را چاپ کند. در ادامه متغیر ++x را نمایش دهد. متغیر ++x بیان کننده این است که  متغیر x  را در هر بار چاپ با عدد ۱ جمع کن.

بعد از بستن تابع خواسته شده که ۵ بار متغیر x  در خط های جداگانه، زیر هم چاپ شوند. در نهایت خروجی به صورت زیر است:

۰
۱
۲
۳
۴

تمرین یادتون نره

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

ثوابت در PHP

استفاده از ثوابت زبان PHP

ثوابت PHP شبیه به متغیرها هستند. ثوابت دارای نام و مقدار ذخیره شده در آن هستند. ثوابت، ثابت هستند و همین فرق آنان با متغیرها است و نمی توانند توسط اسکریپت تغییر کنند. بعد از اینکه برای یک ثابت، مقداری تعیین کنید، این مقدار یکسان باقی می ماند. برای مثال اگر از یک ثابت برای سن استفاده کنید و مقدار ۲۱ به آن بدهید، این مقدار برای همیشه ۲۱ خواهد ماند.

ثوابت وقتی استفاده می شوند که مقداری به دفعات و بصورت مکرر در اسکریپت مورد استفاده قرار گیرد و تغییر نکند. مقداری که در درون یک ثابت قرار می گیرد در ابتدای اسکریپت تعیین می گردد. با استفاده از یک ثابت در یک اسکریپت بجای یک متغیر، می توانید مطمئن شوید که این مقدار بصورت تصادفی تغییر نخواهد کرد. با دادن نام به این ثوابت، سریعا خواهید فهمید چه اطلاعاتی در آن ها است. با تعیین کردن یک ثابت در ابتدای اسکریپت (بجای اختصاص مقدار در طول اسکریپت) می توانید مقدار ثابت را در یک جای معین بجای پیدا کردن آن در طی کدها در اسکریپت برای تغییر آن پیدا کنید.

برای نمونه، ممکن است یک ثابت را به اسم “نام شرکت” و دیگری را به اسم “آدرس شرکت” تعیین کنید و آنرا هرجا که نیاز دارید، استفاده کنید. اگر آدرس شرکت تغییر کند، می توانید مقدار ثابت آدرس شرکت را به راحتی در ابتدای کد بجای گشتن در میان انبوه کدها پیدا کنید.

 

الگوی تعریف ثوابت بصورت زیر و با دستور define است :

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

 

برای نمونه، برای تعیین یک ثابت با اسم نام شرکت از دستور زیر استفاده کنید :

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

برای صدا زدن ثابت شما کافیست نام آن را صدا بزنید که در مثال بالا tricksweb می باشد.

از دستور زیر برای نمایش مقدار ثابت می توانید استفاده کنید :

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

وقتی که یک ثابت را echo می کنید، نمی توانید آنرا در درون کوتیشن قرار دهید. اگر اینکار را انجام دهید، نام ثابت بجای مقدار آن نمایش داده می شود.

هر اسمی که برای یک متغیر می توانید استفاده کنید را برای ثوابت هم می توانید استفاده کنید، به شرط آنکه قوائد زیر را رعایت کنید :

 

قوانین نام گذاری ثوابت در PHP

  • از هیچ شناسه ای استفاده نکنید: نام های ثوابت مانند متغیر توسط یک علامت دلار و یا هر علامت دیگر شروع نمی شوند.
  • بزرگی حروف : بر اساس یک قرارداد، نام های ثوابت می بایستی بصورت حروف بزرگ باشند تا به راحتی در میان سایر دستورات و متغیرها شناسایی شوند. هرچند که خود PHP اهمیتی نمی دهد که چه اسمی برای یک ثابت می گذارید. احتیاجی نیست حتما از حروف بزرگ استفاده کنید فقط در این حالت، کاراکترها واضح تر به نظر می رسند.
  • کاراکترها : می توانید هم اعداد و هم رشته ها را در ثوابت ذخیره کنید. برای مثال دستور زیر کاملا مورد قبول PHP است :

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

عملگرها در PHP

در این بخش می‌خواهیم با عملگرها در PHP آشنا شویم. هر یک از این عملگرها در پی اچ پی  دارای دستورهای مخصوص خود هستند. می‌توان آن‌ها را به دسته‌های زیر تقسیم‌ بندی کرد.

  • حسابی
  • انتسابی
  • رشته‌ای
  • مقایسه‌ای
  • منطقی
  • آرایه

عملگرهای حسابی درPHP

عملگرحسابی یا ریاضی در پی اچ پی شامل عملیات جمع، تفریق، تقسیم، ضرب و قدر مطلق باقی‌مانده تقسیم است. در جدول زیر با روش نمایش این عملگرها  در پی اچ پی آشنا می‌شویم.

نتیجه

مثال

نام

عملیات

جمع $x و$y

$x+$y

جمع

+

تفریق$x و $y

$x-$y

تفریق

ضرب $x و$y

$x*$y

ضرب

*

تقسیم $x و y$

$x/$y

تقسیم

/

باقیمانده تقسیم $x و $y

$x%$y

قدر مطلق

%

 

مثال زیر نتایج مختلف عملگرهای حسابی را نشان می‌دهد.

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

مثال بالا دستور می‌دهد اول x و y را با هم جمع  و در خط بعدی x را از y کم، در ادامه، x را در y ضرب  و در آخر  قدر مطلق باقی‌مانده تقسیم x و y  را چاپ کند

خروجی به صورت زیر می‌باشد:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

عملگرهای انتسابی در PHP

برای اختصاص دادن یک مقدار به یک متغیر از عملگر Assignment یا انتسابی استفاده می‌شود. پایه این عملیات در پی اچ پی، علامت “=”است.

در جدول زیر با این نماد این عملگرها در PHP و نحوه انجام دستور، آشنا شوید.

توضیحات

مثال

انتساب

عملگر سمت چپ ارزشی برابر با آنچه که سمت راست بیان می‌شود، دارد

x=y

x=y

عمل جمع

x=x+y

x+=y

عمل تفریق

x=x-y

x-=y

عمل ضرب

x=x*y

x*=y

عمل تقسیم

x=X/y

X/=y

قدر مطلق

x=x%y

X%=y

 

در یک مثال عملکرد، عملگرهای انتسابی را مشاهده کنید.

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در این مثال روش عملگرهای Assignment  که در جدول بالا بیان کردیم را به ترتیب مشاهده می‌کنید. خروجی این دستور به صورت یک سری اعداد هستند که از عملیات تساوی، ضرب، تقسیم، جمع، تفریق، و قدر مطلق باقی‌مانده بدست آمده اند.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

عملگرهای رشته‌ای در PHP

این عملگرها در PHP به دو دسته تقسیم می‌شوند که هر دو وظیفه‌ی کنار هم قرار دادن متن‌ها و تشکیل یک جمله را دارند. این متغیرهای رشته ای هر کدام در یک خط به صورت جداگانه تعریف شده اند اما در خروجی نیازمند قرار گرفتن آن‌ها در کنار هم و به صورت یک جمله هستیم. در حقیقت با استفاده از ( . ) رشته های را در PHP ادغام میکنند.

جدول زیر این عملگرهای رشته‌ای را معرفی می‌نماید.

عملگر

نام

مثال

نتیجه

.

الحاق

$txt1 =”Hello”

$txt2 = $txt1 .”world!”

 متن ۲ شامل !Hello world می‌شود

.=

مامور الحاق

$txt1 = “Hello”

$txt1 .= “world!”

متن۱شامل !Hello world می‌شود

هر دو عملگر یک خروجی را به همراه دارد اما یک تفاوت با هم دارند. برای عملگر اول باید دو تابع رشته‌ای با نام‌های جداگانه تعریف کنیم.

یک مثال برای این عملگرها در PHP مشاهده کنید.

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

خروجی دستور این پی اچ پی، همانند آنچه که در جدول توضیحات بیان شد، بدست می‌آید.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

در PHP میتوان رشته ها را با اعداد نیز ترکیب کرد:

 

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

عملگر کاهش یا افزایش در PHP

این عملگرها در PHP با افزایش یا کاهش یک واحد، در مقدار متغیرها، تغییر ایجاد می‌کنند.  گاه به این صورت که مقدار متغیر را افزایش یا کاهش دهد و سپس نمایش دهد و یا همان مقدار را نمایش می دهد و در صورتی که متغیر را دوباره بخوانیم، افزایش یا کاهش اعمال شده را ارسال می‌کند. در جدول زیر با نماد این عملگرها و نوع کار آن‌ها بیشتر آشنا می‌شویم.

عملگر

نام

توضیحات

++$x

قبل از افزایش

 افزایش  x سپس  برگرداندن x

$x++

ارسال افزایش

برگرداندن آن سپس افزایش x

– -$x

قبل از کاهش

 کاهش x سپس  برگرداندن x

$x- –

ارسال کاهش

برگرداندن آن سپس کاهش x

یک مثال برای درک بهتر تفاوت بین روش‌های افزایش با هم و روش‌های کاهش با هم مشاهده کنید.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

خروجی دستور بالا براساس قوانین گفته شده به صورت زیر است:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

در دستور اول نمایش x بعد از یک واحد افزایش خواسته شده است، در دستور دوم نمایش x و ارسال یک واحد افزایش خواسته شده، اگر تابع یک بار دیگر x را با این دستور صدا می‌زد مقدار متغیر با آن  یک واحد افزایش ارسال شده، نمایش داده می‌شد. ( این مثال تنها یک بار x  برای دستور ++x$ صدا زده شده است) و در دستور سوم و چهارم همین روند برای یک واحد کاهش اتفاق افتاده است.

عملگرهای مقایسه ای در PHP

عملگرهای مقایسه‌ای در پی اچ پی، برای مقایسه ی دومقدار استفاده می‌شوند. این مقدارها می‌توانند از جنس عدد و متن ( رشته ای) باشند.

در جدول زیر نماد این عملگرها در PHP  و کاربرد آن‌ها آشنا می‌شوید.

 

عملگر

نام

مثال

نتیجه

==

مساوی

$x == $y

اگر x برابر با y باشد درست است

===

یکسان

$x === $y

اگر x برابر با y و از یک نوع باشد درست است

=!

نابرابر

$x != $y

اگر x با y برابر نباشد درست است

<>

نا برابر

$x <> $y

اگر x با y برابر نباشد درست است

==!

غیر یکسان

$x !== $y

اگر x باy  برابر یا از یک نوع نباشند درست است

<

بزرگتر

$x > $y

اگر x از y بزرگتر باشد درست است

>

کوچک تر

$x < $y

اگر x از y کوچک‌تر باشد درست است

=<

بزرگتر یا مساوی

$x >= $y

اگر x بزرگ‌تر یا مساوی y باشد درست است

=>

کوچکتر یا مساوی

$x <= $y

اگر x کوچک‌تر یا مساوی y باشد درست است

برای درک بهتر از این عملگرها مثال زیر را مشاهده کنید.

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در این مثال یک متغیر x و یک متغیر y معرفی شده‌اند که از نظر مقدار با هم برابر هستند ولی بخاطر قرار گرفتن متغیر y  در بین علامت ” ” نوع آن با نوع متغیر x متفاوت شده است.
خروجی دستور بالا به صورت زیر است:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

همان طور که در مثال‌های قبل گفتیم دستور( )var_dump نوع داده را مشخص می‌کند. در این جا داده‌ها از نوع بولین هستند و تنها درست یا غلط بودن ارزش متغیر را مشخص می‌کند، بنابراین خروجی تنها با مشخص کردن درستی یا نادرستی دستور بیان می‌شود.

عملگرهای منطقی در PHP

عملگرهای منطقی and، or، xor، &&، ||، !، در PHP بین دو متغیر قرارمی‌گیرند و شرایط درست یا نادرست بودن آن متغیرها را در PHP بیان می‌کند. لازم به ذکر است که عملگرهای && و || در اولویت بالاتری هستند. جدول زیر خروجی این متغیرها را در صورت قرار گرفتن عملگرهای پی اچ پی بین آن‌ها بیان می‌کند

عملگر

نام

مثال

نتیجه

and

و

$x and $y

اگر x و y درست باشد، درست است

Or

یا

$x or $y

اگر x یا y درست باشد، درست است

Xor

X یا

$x xor $y

اگر یکی از متغیرهای x یا y درست باشد درست است

&&

و

$x && $y

اگر x و y درست باشد، درست است

||

یا

$x || $y

اگر x یا y درست باشد، درست است

!

هیچ

!$x

اگر x درست نباشد، درست است

عملگرهای آرایه در PHP

عملگرهای آرایه در پی اچ پی برای مقایسه داده ها از جنس آرایه استفاده می‌شوند. در جدول زیر با نماد و نوع عملکرد این عملگرها در PHP آشنا می‌شوید.

عملگر

نام

مثال

نتیجه

+

اتصال

$x + $y

اتصال x و y

==

تساوی

$x == $y

اگر x و y یک مقدار داشته باشد، درست است

===

یکسان

$x === $y

اگر x وy دارای یک مقدار و از یک نوع باشند درست است.

!=

نا برابری

$x != $y

اگر x و y با هم برابر نباشند،درست است

<>

نا برابری

$x <> $y

اگر x و y با هم برابر نباشند،درست است

!==

غیر یکسان

$x !== $y

اگر x با y یکسان نباشد، درست است

برای درک بهتر عملکر این نماد ها یک مثال را بررسی کنیم.

 

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

 

خروجی این دستور به صورت زیر است:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

در دستور اول تنها خواسته شده است، آرایه های x و y در کنار هم نمایش داده شود. در دستور دوم به دلیل این که y و x یک مقدار را دارا نمی‌باشند نادرست اعلام شده است. در دستور سوم هم با این که متغیر x  و y هر دو آرایه و ازجنس رشته ای هستند، اما چون مقادیر آن‌ها یکسان نیست، نادرست اعلام شده است. در دستور سوم، چهارم و پنجم به دلیل یکسان و برابر نبودن متغیر x و y  درست اعلام شده است.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

دستکاری رشته ها

معمولا در انجام مقایسه ها و جستجو از فضاهای خالی رشته ها صرف نظر می شود. برای این کار توابع زیر مورد استفاده قرار می گیرد :
تابع ltrim() : این تابع فضای خالی سمت چپ رشته را حذف می نماید و به صورت زیر به کار می رود :

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

تابع chop : این تابع فضای خالی سمت راست رشته را حذف می نماید و به صورت زیر به کار می رود :

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

تابع trim() : این تابع فضای خالی سمت راست و چپ رشته را حذف می نماید و به صورت زیر به کار می رود :

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 فرمت بندی رشته ها برای نمایش
توابع متعددی در php وجود دارند که برای فرمت بندی مجدد رشته ها به کار می آیند . این توابع را در مورد بررسی قرار میدیم
تابع nl2br() : در این تابع ، رشته ای را به عنوان پارامتر دریافت می کند و تمام کاراکترهای سطر جدید (newline charachters) را برداشته به جای آن دستور
را قرار میدهد که از دستورات html است.این تابع برای نمایش رشته های طولانی در مرورگر به کار میرود:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

فرمت بندی رشته ها برای چاپ
تاکنون برای چاپ رشته ها در مرورگر از دستور echo و تابع print استفاده کردیم.هر یک از این دو رشته را به صورتی که هست چاپ میکنند.اما با استفاده از دو تابعت printf() و sprintf() می توان خروجی بهتیر را تولید کرد. تفاوت این دو تابع این است که تابع fprintf رشته را در مرورگر ، و تابع sprintf() رشته را در یک رشته دیگر می نویسد.هر یک از این دو تابع به صورت زیر به کار می روند:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

پارامتر اول ، فرمتی است که شکل خروجی را مشخص می کند . پارامتر دوم متغیرهای رشته ای هستند که باید به خروجی بروند.فرمت خروجی ها با کاراکترهای خاصی مشخص می شوند که در ادامه به آن ها اشاره میکنم.به عنوان مثال ، کاراکتر فرمت %s برای چاپ رشته ها و کاراکتر فرمت %d برای چاپ مقادیر صحیح به کار می رود.
کاراکترهای فرمت
b => به صورت یک مقدار صحیح تفسیر شده به شکل یک عدد دودویی چاپ می شود.
c => به صورت یک مقدار صحیح تفسیر شده به شکل کاراکتر چاپ می شود.
d => به صورت یک مقدار صحیح تفسیر شده به شکل دهدهی چاپ می شود.
f => به صورت یک مقدار double تفسیر شده به شکل ممیز شناور چاپ می شود.
o => به صورت یک مقدار صحیح تفسیر شده در مبنای ۸ نوشته می شود.
s => به صورت رشته تفسیر و چاپ می شود.
x => به صورت یک مقدار صحیح تفسیر شده با حروف کوچک a-f در مبنای ۱۶ چاپ می شود.
X => به صورت یک مقدار صحیح تفسیر شده با حروف بزرگ A_F در مبنای ۱۶ چاپ می شود.
به مثال زیر دقت کنید :

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

خرجی تین دستور این عبارت است :

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

حال این دستورات را ببینید :

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

خروجی این دستور به این صورت است :

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

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

تابع strtoupper() : این تابع رشته ای را به حروف بزرگ تبدیل می کند :

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

تابع strtolower() : این تابع رشته ای را به حروف کوچک تبدیل می کند :

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

تابع ucfirst() : این تابع اولین حرف رشته را به حرف بزرگ تبدیل می کند:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

تابع ucwords() : این تابع اولین حرف تمام کلمات رشته ای را به حرف بزرگ تبدیل می کند:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

الحاق و تجزیه رشته ها

توابعی در php وجود دارند که برای الحاق یا تجزیه رشته ها به چند زیر رشته به کار می روند
برخی از این توابع به شرح زیر هستند:
تابع explode() : این تابع رشته ای را دریافت کرده ، آن را بر اساس جداکننده ای که به عنوان پارامتر مشخص می شود،تجزیه می کند و در آرایه ای قرار می دهد . کاربرد آن به صورت زیر است :

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

seprator کاراکتر جدا کننده است.$str رشته ای است که باید تجزیه شود.limit مشخص می کند چند تکه از رشته جدا شود.به عنوان مثال دستورات زیر را ببینید :

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

دستور اول رشته ای را تعریف می کند.دستور دوم این رشته را به ۲ بخش تقسیم میکند و در آرایه  $ar  قرار می دهد.به طوری که $ar[0] برابر Mostafa و $ar[1] برابر با pctricks.ir می شود.

تابع implode() : این تابع بر عکس تابع explode() عمل می کند و به صورت زیر به کار می رود :

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

به طور مثال برلی الحاق دو رشته موجود در $ar[0] و $ar[1] به صورت زیر عمل می شود:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

یادآوری می شود که تابع join() نیز دقیقا مثل تابع implode() به کار می رود

تابع strtok() : این تابع هر بار روی رشته ای اجرا می شود، یک نشانه (token) را جدا می کند :

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

str رشته ای است که نشانه ای از آن که با seprator تفکیک شده است ، جدا می شود.دستورات زیر را ببینید :

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

با این دستور واژه ‘Mostafa’ در $t قرار میگیرد .
تابع substr() : این تابع می تواند زیر رشته ای را از یک رشته جدا کند:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

این تابع زیر رشته ای به طول length را با شروع از موقعیت start در رشته str بر میگرداند.اگر length مشخص نشود ، از start تا انتهای رشته برگردانده می شود.به عنوان مثال دستور زیر را ببینید :

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

این دستور رشته ‘PHP’ را جدا کرده در $sub قرار می دهد. توجه کنید که موقعیت اولین کاراکتر رشته برابر با صفر است.

مقایسه رشته ها
همان طور که میدونید از عملگر == میشه برای مقایسه رشته ها استفاده کرد . ولی تابعی تو php هستش که کارای پیچیده تری مورد استفاده قرار میگیره :‌
تابع strcmp() : این تابع برای مقایسه دو رشته به کار میره :‌

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

اینجا اگه $str1 و $str2 برابر باشند مقدار ۰ ، اگه $str1 از $str2 بزرگتر باشه مقدار بزرگتر از ۰ و اگه $str1 از $str2 کوچکتر باشه مقدار کوچکتر از ۰ برگشت داده میشه .

تابع strcasecmp() : این تابع مثل strcmp عمل میکنه با این تفاوت که بین حروف بزرگ و کوچک فرقی قائل نیست .

جستجو در رشته ها

تو php توابع متعددی برای جستجو رشته ای تو رشته ی دیگه وجود داره که در زیر به بعضی از آنها اشاره میشه :‌

تابع strstr() : این تابع ،‌ رشته ای را در یک رشته بزرگ جستجو می کند و به صورت زیر به کار میرود :‌

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

این تابع $str2 رو توی $str1 جستجو میکنه . اگه $str2 تو $str1 وجود داشته باشه از اون محل تا انتهای رشته را بر میگرداند و گرنه مقدار false برمیگرداند . مثال زیر رو ببینید :‌

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

که در اینجا مقدار :‌

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در متغیر $s ریخته میشود. توجه کنید که تابع strchr() دقیقا مانند تابع strstr() عمل میکند

تابع stristr()‌ :‌ این تابع مثل strstr() عمل می کند ولی بین حروف بزرگ و کوچک تفاوتی قائل نمی شود .
تابع strrchr() : این تابع هم مثل strstr() هستش با این تفاوت که از آخرین وقوع زیر رشته مورد جستجو تا انتهای تابع را بر میگرداند.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

عبارات منظم

عبارات منظم برای جست و جوی الگویی در داده­ها به کار می رود. تطبیق عبارات منظم در php خیلی شبیه تطبیق رشته در strstr می باشد زیرا زیر رشته ای را در زیررشته ی دیگر  جست و جو می کند. با استفاده از کاراکتر های ویژه می توان تعیین کرد که الگویی در ابتدا یا  انتهای رشته ای موجود است یا خیر، آن بخش از الگو می تواند تکرار شود یا کاراکتر های موجود 

در الگو باید از نوع خاصی باشند.

 مجموعه ی کاراکترها

 .:می توان از نقطه به عنوان یک کاراکتر عمومی برای هر کاراکتری غیر از \n استفاده کرد  به عنوان مثال عبارت منظم . At با رشته های ‘cat’ یا ‘cat’ یا  ‘mat’ تطبیق می کند، اگر بخواهید

 کاراکتر نقطه را به کاراکتری بین a تا z محدود کنید می توانید مجموعه ی[a-z] را انتخاب کنید. براکت ها  برای محدودسازی جست و جوی مجموعه ای از کاراکتر های درون براکت به کار می رود.

 [a-z  A-Z]: مجموعه ای از حروف انگلیسی کوچک و بزرگ را در بر می گیرد.

^  :با استفاده از این کاراکتر می توان مشخص کرد که کاراکتر نباید به بازه ای متعلق باشد

مثلا [a^z] یعنی با هر کاراکتری که بین  a تا z  نباشد تطبیق می کند.

 *: معنای * این است که کاراکتر می تواند ۰ یا چند بار تکرار شود.

+ : معنای + این است که کاراکتر می تواند یک یا چند بار تکرار شود.

{ عدد} : با استفاده از عبارات عددی که در داخل { } قرار می گیرد می توان مشخص کرد که

 کاراکتر چند بار تکرار شود.

Pipe) |): این علامت به معنای انتخاب یکی از عبارات می باشد

برای تطبیق با یکی از کاراکتر های ویژه { <= $  . \ ) باید از علامت \ جلوی آن استفاده کرد.

 ?: یعنی عبارت می تواند ۰ یا ۱ بار تکرار شود.

مثال:

۳}}:حداقل ۳ بار تکرار می شود.

۲,۵}} حداقل ۲ بار و حداکثر ۳ بار تکرار می شود.

۳, }}:حداقل ۳ بار و حداکثر بی نهایت بار تکرار می شود.

اگر علامت ^  خارج از براکت باشد، یعنی حتما باید اول رشته، رشته ی داخل براکت باشد.

اگر علامت $ داشته باشیم یعنی عبارت قبل از آن باید حتما در آخر رشته بیاید.

تابع preg_match : ساده‌ترین شکل استفاده از عبارت‌های منظم، عمل جستجو است که این تابع انجام آن را بر عهده دارد. (در صورت کار با تابع سوالات خود را در انجمن مطرح نمایید)

این تابع سه پارامتر ورودی دارد که دو پارامتر ابتدایی این تابع اجباری هستند که به ترتیب «عبارت منظم» و «رشته‌ی هدف» را مشخص می‌کنند. برای مثال به نمونه کد زیر توجه کنید:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

مقدار خروجی این تابع عدد «۰» یا «۱» به معنی پیدا نشدن یا پیدا شدن عبارت مورد جستجو است. استفاده از علامت ممیز«/» قبل و بعد از عبارت منظم اجباری است.

به مثال بعدی دقت کنید:

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

عبارت منظم به کار رفته در مثال بالا برای یافتن «‎https://‎» یا «‎http://‎» استفاده می‌شود. برای به کارگیری علامت ممیز «/» داخل عبارت منظم، لازم است تا آن را با ممیزوارو «\» پیشوند کنید. علامت سوال «?» پس از حرف «s» به معنی اختیاری بودن آن است.

در مثال بعدی از علامت Caret «^» و نشان دلار «$» به معنی ابتدا و انتهای خط استفاده می‌کنیم:

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

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

پارامترهای دیگر تابع preg_match برای «خارج کردن بخش‌هایی از عبارت در قالب متغیر»،‌ «تنظیمات پیشرفته‌ی عبارت منظم» و «محل شروع جستجو» می‌شوند که شرح آن‌ها در این مقاله‌ی کوتاه نمی‌گنجد.

preg_replace

تابع مفید بعدی preg_replace است که وظیفه‌ی جستجو با کمک عبارت منظم و جایگزین کردن را بر عهده دارد. در هنگام جایگزین کردن می‌توان از متغیرهای تعریف شده در عبارت منظم استفاده کرد. به مثال زیر توجه کنید:

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

کد بالا عبارت مقابل خود را برای شماره‌ی موبایل جستجو می‌کند و آن را با چهار ستاره «****» جایگزین می‌کند.
برای تعریف متغیر درون عبارت منظم و استفاده از آن در رشته‌ی جایگزین، بخش مورد نظر را داخل پرانتز قرار می‌دهیم و به ترتیب با «‎$۱‎»، «‎$۲‎» و … آن‌ها را فراخوانی می‌کنیم:

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

کد بالا رشته‌ی مقابل خود را برای یافتن شماره‌ی موبایل بدون کد کشور جستجو می‌کند، شماره‌های قرار گرفته مقابل «۰» را در پرانتز قرار می‌دهد تا متغیری از آن بسازد و سپس شماره‌ی یافته شده را با عبارت «‎+۹۸$۱‎» جایگزین می‌کند. دقت کنید که عبارت «‎$۱‎» پس از «‎+۹۸‎» به معنی اولین متغیر تعریف شده در عبارت منظم است.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

ساختارهای تصمیم گیری

بسیاری از اوقات هنگام نوشتن کدها در PHP  می‌خواهید عملیات مختلفی در شرایط مختلف صورت پذیرد. در این زمان است که از عبارت شرطی در کد نویسی‌ها استفاده می‌کنیم.عبارت شرطی(condition) در PHP به چند دسته تقسیم بندی می‌شوند.

عبارت if، یک سری از کدها اجرا می‌شود اگر و تنها اگر آن شرط خاص درست باشد.

عبارت If…else، یک سری از کدها اجرا می‌شود اگر آن شرط  درست  و شرط دیگر نادرست باشد.

عبارت  if…elseif…else، انتخاب یکی از چند بلوک  کدها برای آنکه اجرا شود

عبارت switch  انتخاب یکی از بین بسیاری بلوک کدها برای آنکه اجرا شود.

عبارت شرطی If در PHP

همانطور که گفته شد عبارت شرطی If تنها زمانی که آن شرط خاص درست باشد کدها را اجرا می‎‌کند. برای نوشتن این دستور در PHP ابتدا if را نوشته و در مقابل آن شرط را داخل پرانتز ( ) قرار می‌دهیم و در آکولاد { ; } تنها زمانی که شرط درست است را بیان می‌کنیم.

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در ادامه یک مثال را مشاهده کنید، که خروجی آن “!Have a good day” است اما تنها زمانی شرط قابل قبول می‌باشد که ساعت قبل از ۲۰ را نشان دهد.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

عبارت if…esle درPHP

همان طور که قبلا انواع عبارات شرطی در PHP را تعریف کردیم، در عبارت if…else یک سری از کدها اجرا می‌شوند اگر آن شرط  درست  و شرط دیگر نادرست باشد.

به نحوه نوشتن آن در پی اچ پی توجه کنید.

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در این قاعده ابتدا شرط  و در ادامه زمانی را که شرط درست باشد چه کدهایی انجام شود و اگر نادرست بود کدهای دیگری اجرا شود را بیان می‌کنیم. با یک مثال بیشتر با این قواعد آشنا شوید.

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

خروجی این دستور زمانی که ساعت کمتر از ۲۰ باشد !Have a good day را چاپ می‌کند  و اگر ساعت بیشتر از ۲۰ را نشان بدهد Have good night را نمایش می‌دهد. پس در این جا بسته به ساعت دو جواب متفاوت می‌توانیم داشته باشیم.

عبارت if…elseif…else در PHP

همان طور که قبلا اشاره کردیم عبارت  if…elseif…else، یعنی انتخاب یکی از چند بلوک  کدها برای آنکه اجرا شود.همانند عبارات شرطی که قبلا توضیح دادیم، این عبارت شرطی را توضیح می‌دهیم.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در این عبارت شرطی دو شرط تعریف می‌شود. به هر کدام از شرط ها یک else تعلق می‌گیرد تا درصورتی که شرط نادرست بودن کدهای دیگری اجرا شود. در یک مثال این قواعد را ببینیم.

در مثال قبل شرط ساعت کمتر از ۲۰ را داشتیم که اگر برقرار بود Have a good day چاپ می‌شد و اگر شرط برقرار نبود Have a good night چاپ می‌شد. اما در این مثال شرط ساعت کمتر از ۱۰ را نیز داریم که در صورتی که بر قرار باشد Have a good morning چاپ می‌شود.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

 عبارت شرطی switch در PHP

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

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در نوشتن این عبارت همانند مثال های قبل، پس از بیان شرط خود به صورت متغیر برای بیان موقعیت متغیرها شروع را با case و برای بستن موقعیت از break استفاده می‌کنیم. تمام موقعیت هایی که می‌خواهیم را می‌نویسیم هرگاه به هر کدام از آن ها رسید و شرط  گفته شده برقرار بود آن را چاپ کرده و بقیه موقعیت ها را رها می‌کند و دستور به پایان می‌رسد. در حقیقت تنها یکی از این دستورها را که درست است را انتخاب می‌کند. و اگر هیچ یک از case ها درست نبود از کلمه default و بیان این که هیچ یک درست نیست می‌پردازیم. یک مثال مشاهده کنید.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

همان طور که مشاهده می‌کنید تنها خروجی ما !Your favorite color is red است و بقیه موقعیت ها بدون بررسی شدن کنار گذاشته می‌شوند و به پایان دستور می‌رسد و چاپ می‌شود

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

ساختارهای تکرار

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

انواع حلقه‌ها در PHP  به صورت زیر تعریف شده است:

  •  while حلقه  تا زمانی که شرط درست باشد تکرار می‌کند.
  • do…while ابتدا حلقه do  اجرا می‌شود و سپس شرط while بررسی می‌شود.
  • for حلقه را در تعداد دفعات خاص بررسی می‌کند.
  • foreach حلقه ای برای هر عنصر در آرایه.

 

حلقه while در PHP

همان طور که در در بخش تعاریف اشاره کردیم، while به عنوان یک نوع از حلقه‌ها در PHP، دور حلقه خود را تا زمانی که شرط درست باشد ادامه می‌دهد. نحوه نوشتن این دسته از دستورات در پی اچ پی نیز همانند عبارت های شرطی در PHP، در مقابل while شرط را داخل ( ) قرار می‌دهیم و دستوری را که می‌خواهیم اجرا شود را می‌نویسیم.

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در ادامه یک مثال مشاهده خواهید کرد. در این مثال متغیر x$ برابر است با ۱ و شرط تا زمانی که x کوچکتر و یا مساوی ۵ باشد می‌شود. به مقدار x در هر دور یک واحد اضافه می‌شود (; ++x).

 

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

خروجی این دستور به صورت زیر نمایش داده می‌شود.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

حلقه do…while در PHP

این حلقه برخلاف حلقه while ابتدا کدها را در قسمت do انجام می‌دهد، سپس شرط را بررسی می‌کند. نحو نوشتن این نوع حلقه در PHP به صورت زیر است.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

همان طور که مشاهده می‌کنید ابتدا کد ها در بخش do اجرا می‌شوند و سپس شرط while بررسی می‌شود. در این راستا یک مثال داشته باشیم.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

اگر دقت کرده باشید این مثال دقیقا همان شرایط و هدف مثال while را دارد. می‌خواهد متغیر x$ اعداد کوچکتر یا مساوی ۵ را نمایش دهد و به هر عدد، در هر دور حلقه تنها یک واحد اضافه شود. اما با این تفاوت که ابتدا متغیر x$ اجرا می‌شود و سپس بررسی می‌شود که عدد بدست آمده شرط را دارا می‌باشد یا خیر. اگر شرط برقرار بود x چاپ می‌شود در غیر این صورت از حلقه خارج می‌شویم.
خروجی این حلقه در PHP  به صورت زیر است.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

 

حلقه for  در PHP

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

  •   مقدار اولیه ای که به دستور در حلقه می‌دهیم
  •      این دستور تا چه زمانی بررسی شود( مقدار نهایی )
  •       هر کدام از این مقدارها چگونه تغییر یابد( در هر دور چه مقدار به متغییر اضافه  و یا از آن کم شود)

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

مثال زیر اعداد ۰ تا ۱۰ را با استفاده از حلقه for نمایش می‌دهد.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در این مثال x$ مقدار اولیه ۰ را گرفته است و  تا مقدار ۱۰ را چاپ می‌نماید. در هر دور به هر عدد تنها یک واحد اضافه می‌شود. خروجی مثال به صورت زیر است.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

حلقه foreach در PHP

حلقه foreach در PHP تنها برای آرایه ها استفاده می‌شود. نحوه‌ی نوشتن این نوع حلقه‌ها در PHP به صورت زیر می‌باشد.

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در هر تکرار این حلقه، value( ارزش) به سراغ آرایه بعدی می‌رود و آن را بررسی می‌کند. با یک مثال بیشتر با این قواعد آشنا شوید.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

 

در این مثال ابتدا متغیر آرایه را مشخص نمودیم. color$ متغیر  آرایه است. در قسمت foreach متغیر color$ را به عنوان ارزش انتخاب کردیم ودستور echo، هر رنگ را که همان ارزش در نظر گرفته شده است، در خطوط مجزا به چاپ می‌رساند. خروجی این دستور به صورت زیر است.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

آرایه عددی در PHP

آرایه چیست؟

آرایه ها متغیرهای خاصی هستند که می‌توانند چند ارزش را در یک زمان داشته باشند. در حقیقت یک متغیر می‌تواند چندین مقدار را در یک متغیر واحد ذخیره کند. به مثال زیر توجه کنید.

 

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در این مثال می‌خواهیم ماشین‌های مورد علاقه خود را به ترتیب بیان کنیم. همان طور که در بخش معرفی داده‌ها اشاره کرده بودیم، جایگاه متغیرها در آرایه ها از صفر شروع می‌شود و آن را در علامت [ ] قرار می‌دهند. خروجی این مثال به صورت زیر است.

I like Volvo, BMW and Toyota.

دقت داشته باشد در دستور echo یک رشته به عنوان نقطه در انتهای جمله تعریف شده است.

اهمیت آرایه‌ها در PHP زمانی بسیار واضح می‌شود که شما ۳۰۰ متغیر در یک حلقه داشته باشید و تنها بخواهید یک متغیر خاص را پیدا نمایش بدهید! در آن زمان است که آرایه با قرار دادن هر چند مقدار در یک نام از حجم نوشتن شما می‌کاهد و سرعت عملکرد کد را بالا می‌برد.

چگونه یک آرایه در PHP بسازیم؟

در PHP، آرایه ها به  صورت زیر نوشته می‌شوند.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

آرایه‌ ها در PHP به سه دسته بر اساس نوع عملکردشان تقسیم می‌شوند:

  • آرایه‌ ایندکس شده یا عددی (Indexed arrays): آرایه‌هایی که با استفاده از عدد نمایش داده می‌شوند
  • آرایه‎ انجمنی( Associative arrays): آرایه‌هایی که با یک نام کلیدی فراخوان می‌شوند
  • آرایه‌چند بعدی (Multidimensional arrays): آرایه‌هایی که شامل یک یا چند آرایه هستند

 آرایه عددی در PHP

این نوع آرایه در اکثر زبان‌های کد نویسی وجو دارد. آرایه عددی در PHP را می‌توان به دو صورت نمایش داد، به صورت اتوماتیک خودش عدد بگیرد با توجه به این که می‌دانیم  اعداد از ۰ در آرایه‌ها شروع می‌شود.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

خودمان به صورت دستی اعداد( جایگاه متغیر در آرایه) هر متغیر را بنویسیم.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

به مثال قبل را دوباره اشاره می‌کنیم. این مثال جزو آرایه عددی در PHP است. در دستور echo اعداد هر متغیر به صورت دستی وارد شده است. پس حالت دوم را شامل می‌شود.

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

 طول آرایه- تابع ( )Count

در آرایه‌ها هرگاه بخواهیم تعداد عضوهای درون آرایه را بدانیم از تابع ( )count استفاده می‌کنیم. خروجی این تابع تنها یک عدد است که به تعداد متغیر ها اشاره دارد.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

این مثال تنها سه عضو volvo، BMW وToyota را دارید پس خروجی این مثال عدد ۳ است.

 حلقه در طول یک آرایه عددی

برای نمایش تمام عضوهای درون یک آرایه می‌توانید از حلقه for استفاده کنید. مانند مثال زیر:

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در این مثال ابتدا آرایه ها را معرفی کردیم، و خواسته شد تعداد ماشین ها شمارش شود. یک حلقه for تعریف کردیم . شرطی تعریف کردیم، متغیر x$ های مساوی صفر تا زمانی که x از مقدار طول آرایه کوچکتر باشد و هر بار به x یک واحد اضافه کن. در نهایت نام ماشین ها را در خطوط جداکانه به چاپ برسان.

خروجی این مثال به صورت زیر است.

Volvo
BMW
Toyota

آرایه انجمنی در PHP

آرایه انجمنی یا( Associative Arrays

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.
آرایه هایی هستند که با یک نام کلیدی خاص خود فراخوان می‌شود. در شکل زیر هر یک از دایره ها عضوهای مقابل آرایه است که هر کدام با نام کلیدی خاص خود (key name) فراخوان می‌شود.

آرایه انجمنی در PHP را می‌توان به دو صورت نوشت. اولین روش این است که همه عضوهای آرایه را در یک خط در مقابل آرایه بنویسیم. مانند نمونه زیر:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

و یا برای هر عضو آرایه به صورت جداگانه متغیر تعریف کنیم. در نمونه زیر به هر نام به صورت جداگانه متغیر age$ اختصاص گرفته است.

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

تفاوت آرایه انجمنی با آرایه عددی در چیست؟ آرایه انجمنی تنها نام مورد نظر را فراخوان می‌کند و دیگر لازم نیست که به شماره جایگاه آن عضو اشاره ای داشته باشد، اما در آرایه عددی تنها عضو ها با شماره جایگاهشان فراخوان می‌شود. یک نمونه مثال برای آرایه انجمنی در PHP مشاهده کنید.

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

مثال را مشاهده کردید؟  همان طور که دیدید متغیر age$ را تنها با نام عضو صدا کرده است. در این مثال سن شخصی به نام peter را نمایش می‌دهد، خروجی به صورت زیر است.

Peter is 35 years old.

برای آرایه عددی حلقه for را تعریف کردیم برای آرایه انجمنی در PHP نیز می‌توان حلقه ‌ای foreach را معرفی کرد. به مثال زیر دقت کنید:

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در این مثال ابتدا یک آرایه انجمنی تعریف کردیم، و سپس در حلقه foreach شرط را بیان کردیم متغیر age$ را به صورت x=>$x_value$ باشد. متغیر x$ نام شخص و متغیر x-value$ سن ان شخص است. در قسمت echo طریق نوشتن این دستور را در برنامه تعریف می‌کند. توجه داشته باشد در دستور echo متغیر x$ قبلش یک نقطه تعریف شده است! این نقطه برای نوشتن تساوی و مقدارش در یک خط است. یعنی این دو داده رشته ای به هم مربوط هستند. خروجی این دستور به صورت زیر است:

Key=Peter, Value=35
Key=Ben, Value=37
Key=Joe, Value=43

دوباره با مثال قبل برگردید. دقت کردید نقطه ای که قبل از متغیر x$ تعریف شده است برای x-value$ نیز تعریف شده است و به همین دلیل تمام این داده ها در هر خط کنار هم نمایش داده شده‌اند.

آرایه های چند بعدی در PHP

در این نوع آرایه ها مقدار هر خانه ارایه می تواند ارایه دیگری باشد.

روش تعریف ارایه دو بعدی :

مثال

در مثال زیر روش تعریف ارایه دو بعدی یعنی اینکه هر سطر ان خود ارایه یک بعدی دیگر است و نیز روش دسترسی به هر عنصر سطر اول این ارایه دو بعدی را مشاهده می نمائید

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

طبق قانون ارایه ها ، شماره گذاری اندیس عددی از صفر شروع می شود هم برای سطر ها و هم برای ستونها

ارایه می تواند از یک بعد تا چندین بعد داشته باشد
یعنی هر خانه ارایه خود ارایه ای باشد و هر خانه زیر ارایه خود ارایه ای دیگر باشد و همین طور تا  اخر یعنی پرانتزهای تعریف ارایه ها  تو در تو می شوند
مثال
در مثال زیر ما ارایه چند بعدی انجمنی یعنی اندیس رشته ای ، تعریف می کنیم

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

در زیر روش مشخص شدن اندیس هر سطر این ارایه را می بینیم :

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

اندیس سطر اول عبارت رشته ای Griffin بوده و اندیس ستونهای ان ۰ و یک و دو اند

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

همین طور که مشاهده کردید لزومی ندارد تعداد ستونها در تمام ردیفهای ارایه با هم برابر باشند
حال بطور مثال می خواهیم یکی از مقادیر ارایه مثال بالا را در خروجی نمایش دهیم

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

خروجی دستور بالا عبارت زیر خواهد بود

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

المان های درون آرایه ها را می‌توان بر اساس حروف الفبا، اعداد  یا به صورت افزایشی و یا کاهشی مرتب کرد. در این مبحث به معرفی تابع هایی که برای مرتب کردن آرایه‌ها در PHP استفاده می‌شود، می‌پردازیم.

این توابع به صورت زیر دسته بندی می‌شوند:

  • ( )sort : آرایه ها را با روند افزایشی مرتب می‌کند
  • ( )rsort : آرایه ها را با روند کاهشی مرتب می‌کند
  • ( )asort : آرایه های انجمنی را با روند افزایشی و براساس ارزش آن ها مرتب می‌کند
  • ( )ksort : آرایه های انجمنی را با روند افزایشی و بر اساس  کلید آن ها مرتب می‌کند
  • ( )arsort : آرایه های انجمنی را با روند کاهشی و براساس ارزش آن ها مرتب می‌کند
  • ( )krsort :آرایه های انجمنی را با روند کاهشی و براساس کلید ان ها مرتب می‌کند

 

مرتب کردن آرایه‌ها در PHP با روند افزایشی

تابع ( )sort

همان طور که گفته شد این تابع برای ایجاد روند افزایشی در آرایه ها است. مثال های زیر به ترتیب افزایش بر اساس حروف الفبا و دومی مثال افزایش بر اساس اعداد است.

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

خروجی این دستور براسا حروف الفبا به صورت زیر است:

BMW
Toyota
Volvo

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

خروجی این دستور براساس روند افزایشی اعداد به صورت زیر است:

۲
۴
۶
۱۱
۲۲

 تابع ( )asort

تابع ( )asort آرایه های انجمنی را با روند افزایشی و ارزش مرتب می‌کند. مثال زیر را مشاهده کنید.

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

همان طور که در این مثال مشاهده می‌کنید آرایه ها را براساس ارزش آن ها مرتب کرده است. در این مثال ارزش آرایه همان سن افراد است. خروجی این دستور :

Key=Peter, Value=35
Key=Ben, Value=37
Key=Joe, Value=43

تابع ( ) ksort

تابع ( )ksort آرایه های انجمنی را با روند افزایشی و کلید مرتب می‌کند:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

این مثال همانند مثال قبل است، با این تفاوت که از تابع ( )ksort استفاده شده است و مرتب کردن با توجه به کلید( در اینجا نام افراد است) صورت گرفته است. خروجی این مثال :

Key=Ben, Value=37
Key=Joe, Value=43
Key=Peter, Value=35

مرتب کردن آرایه‌ها در PHP با روند کاهشی

 تابع ( )rsort

تابع ( )rsort آرایه ها را با روند کاهشی مرتب می‌کند. در مثال زیر المان های آرایه متغیر cars$ بر اساس حروف الفبا و به صورت کاهشی مرتب شده است و مثال دوم اعداد را به صورت کاهشی مرتب می‌کند.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

خروجی این مثال:

Volvo
Toyota
BMW

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

خروجی این مثال :

۲۲
۱۱
۶
۴
۲

تابع ( )arsort

مثال زیر آرایه های انجمنی را با روند کاهشی بر اساس ارزش آرایه مرتب می‌کند. در این مثال از تابع ( )arsort استفاده شده است.

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

ارزش آرایه ها در این مثال همان سن افراد است، که به صورت کاهشی نمایش داده می‌شود. خروجی به صورت زیر است:

Key=Joe, Value=43
Key=Ben, Value=37
Key=Peter, Value=35

تابع ( )krsort

در ادامه مثالی که مشاهده می‌کنید آرایه ها انجمنی را براساس کلید با روند کاهشی نمایش می‌دهد

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در این مثال کلید آرایه ها، همان نام افراد است که روند کاهشی آن بر اساس حروف الفبای انگلیسی از p به B ختم می‌شود. خروجی به صورت زیر است:

Key=Peter, Value=35
Key=Joe, Value=43
Key=Ben, Value=37

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

توابع تاریخ و زمان

از تابع date برای قالب بندی زمان و تاریخ استفاده می شود
زوش استفاده از این تابع :

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

به کار بردن  پارامتر اول که قالب بندی زمان و تاریخ را مشخص می کند اجباری است
اما پارامتر دوم  اختیاری است و در صورت استفاده نکردن از ان زمان و تاریخ فعلی سیستم مورد نظر قرار می گیرد
در زیر چند کاراکتر برای قالب بندی تاریخ و زمان نوشته شده است :
پارامتر format می تواند شامل مقادیر زیر باشد

حرف j : شماره روز در ماه را اگر یک رقمی باشد بدون درج صفر قبل از ان می دهد

۱ تا ۳۱

حرف d : شماره روز در ماه را بر می گرداند ، عددی بین یک تا ۳۱ را بر می گرداند و اگر شماره روز یک رقمی باشد صفر قبل از ان می گذارد

۰۱ تا ۳۱

حرف m :شماره ماه تاریخ را بر می گرداند . عددی بین یک تا ۱۲ خواهد بود

حرف Y : شماره سال تاریخ  را بصورت عدد چهار رقمی بر می گرداند

مثال

۱۹۹۹ تا ۲۰۱۳

حرف y : شماره سال تاریخ  را بصورت عدد دورقمی بر می گرداند

مثال

۹۹ تا ۱۳

حرف a : با حروف کوچک انگلیسی مشخص می کند زمان مربوط به بعد از ظهر است یا قبل از ظهر

مثال

am , pm

حرف A : با حروف بزرگ انگلیسی مشخص می کند زمان مربوط به بعد از ظهر است یا قبل از ظهر

مثال

AM , PM

حرف P :ساعت و دقیقه را به وقت گرینویچ تعیین می کند

مثال

+۰۲:۰۰

حرف c : صدم ثانیه – ثانیه – دقیقه – ساعت – ماه – روز – سال را مشخص می کند

مثال

۰۰:۰۰ + ۲۱:۱۶:۱۵  t 2013-02-12

 

حرف r : سال – روز – ماه – ساعت – دقیقه – ثانیه را مشخص می کند

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

“/”, “.”, یا “-”
مثال

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

خروجی دستورات بالا بصورت زیر خواهد بود

 ۲۰۰۹/۰۵/۱۱
۲۰۰۹.۰۵.۱۱
۲۰۰۹-۰۵-۱۱

در مثالهای بالا از انجا که مثدار پرامتر دوم را مشخص نکردیم ، تاریخ و زمان فعلی سیستم مورد نظر قرار گرفت

اما اگر بخواهید تاریخ و زمان مورد نظر شما قالب بندی شود می توانید از پارامتر دوم تابع date استفاده نمائید
شما می توانید با استفاده از اعداد تاریخ و زمان خود را بسازید برای این کار از تابع mktime استفاده نمائید
تابع mktime
روش استفاده از این تابع بصورت زیر است

mktime(hour,minute,second,month,day,year,is_dst)

مثال

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

خروجی دستور بالا چیزی شبیه زیر است :

Tomorrow is 2009/05/12

در مثال بالا مقدار زمان برابر ساعت صفر دقیقه صفر و ثانیه صفر می شود و مقدار ماه تاریخ  برابر مقدار تاریخ سیستم می شود و مقدار روز تاریخ برابر مقدار روز تاریخ  سیستم بعلاوه یک می شود  و مقدار سال تاریخی که می سازیم برابر مقدار سال تاریخ سیستم می شود
تاریخ و زمانی که ساخته می شود درون متغیر tomorrow قرار می گیرد
حال متغیر tomorrow دارای یک تاریخ و زمان است و می تواند بعنوان پارامتر دوم تابع date برای قالب بندی خروجی این تابع ، بکار رود
طبق قالب Y/m/d خروجی نمایش داده می شود

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای فایل در PHP توابع مختلفی تعریف می‌شود که برای باز کردن، بستن، خواندن یک فایل استفاده می‌شود. به اختصار با مهمترین این توابع برای فایل آشنا می‌شویم.

باز کردن فایل در PHP

تابع fopen

تابع ()fopen برای باز کردن فایل ها در پی اچ پی استفاده می‌شود. اولین پارامتر این تابع مشخص می‌کند که تابع با چه نامی باید باز شود و دومین پارامتر مدل فایل را مشخص میکند. در ادامه انواع مدل های این فایل را با ذکر ویژگی توضیح خواهیم داد.

یک مثال در مورد تابع ()fopen مشاهده کنید و با ساختار آن آشنا شوید:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در این مثال welcome.txt نام یک فایل در PHP است و می‌خواهیم تا باز شود و r مدل این فایل است.

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

توضیح

مدل

تنها می‌خواند. در ابتدای فایل شروع می‌شود

r

می‌خواند/ می‌نویسد. در ابتدای فایل شروع می‌شود

r+

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

w

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

w+

اضافه کردن. باز می‌کند و در انتهای فایل می‌نویسد یا یک فایل جدید که وجود ندارد را ایجاد می‌کند

a

می‌خواند و اضافه می‌کند. محتویات فایل را با نوشتن آن در آخر فایل حفظ می‌کند.

a+

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

x

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

x+

  •  نکته: اگر تابع ()fopen نتوانستد فایل مشخصی را باز کند تنها ۰ را بر می‌گرداند.

مثال زیر  پیامی را در صورتی که فایل مشخصی را نتواند باز کند را ایجاد می‌کند.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در این مثال اگر فایل welcome.txt باز نشود پیام نمی‌تواند فایلی را باز کند خارج می‌شود.

 بستن فایل در PHP

تابع ()fclose

این تابع برای بستن فایل در PHP استفاده می‌شود:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

 چک کردن انتهای فایل

تابع ()feof اگر انتهای فایل در دسترس باشد، آن را چک می‌کند

تابع ()feof برای حلقه هایی که تعداد طول داده های آن مشخص نیست بسیار مناسب است.

  • نکته : به یاد داشته باشید که شما نمی توانید در این مورد فایل هایی که مدل x،a،w هستند را بازکنید.

نحوه نوشتن این فایل به صورت زیر است:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

 خواندن یک فایل به صورت خط به خط

تابع ()fgets

این تابع برای خواندن تک تک خط ها در یک فایل استفاده می‌شود.

مثال زیر هر خط فایل خوانده می‌شود تا زمانی که انتهای فایل دسترسی پیدا کند.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

ابتدا باید دستور بدهیم که تا انتهای فایل را بخواند تا زمانی که به انتهای فایل برسد تک تک خط ها را نیز بخواند.

خواندن تک تک کاراکترهای یک فایل

تابع ()fgetc

این تابع تک تک کاراکترهای یک فایل را می‌خواند. به این صورت که پس از خواند فایل اشاره گر آن را به کاراکتر بعدی انتقال می‌دهد.

مثال زیر تک تک کاراکتر های یک فایل را می‌خواند تا زمانی که به انتهای فایل دسترسی پیدا کند.

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در این مثال تا زمانی که به انتهای فایل برسد تک تک کاراکتر ها را میخواند.

برای دسترسی به تمام توابع قایل می‌توانید به سیستم فایل در PHP مراجعه کنید.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

کار با دایرکتوری ها

توابع کار با پوشه ها در PHP :

به وسیله توابع کار با پوشه ها در PHP ، می توانید اطلاعات لازم درباره پوشه های روی سرورتان و محتویات درون آنها را بدست آورده و در خروجی نمایش دهید .
برای مثال می توانید لیست پوشه ها و یا فایل های موجود آنها را در خروجی نمایش داده و یا بین پوشه ها حرکت کنید .

آیا نصب برنامه ای لازم است ؟

تمامی توابع کار با پوشه ها جزء هسته اصلی PHP بوده و به صورت پیش فرض نصب می باشند . بنابراین برای استفاده از آنها نیاز به نصب برنامه ای خاص یا تغییر تنظمیاتی در سرور خود ندارید .

لیست توابع کار با پوشه ها در PHP :

در لیست زیر توابع مهم و اصلی کار با پوشه ها در PHP را نمایش داده ایم . برای دریافت اطلاعات راجع به هر کدام ، بر روی نام آن کلیک نمایید .

نام تابع کاربرد
chdir ( ) به وسیله این تابع می توانید پوشه جاری که درون آن هستید را عوض کنید .
chroot ( ) به وسیله این تابع می توانید پوشه اصلی ( root ) پروسه جاری خود را عوض کنید .
dir ( ) این تابع برای باز کردن و دسترسی به یک پوشه در سرور استفاده می شود .
closedir ( ) این تابع پوشه جاری و دسترسی به آن را می بندد .
getcwd ( ) این تابع آدرس و نام پوشه جاری که درون آن هستید را نمایش می دهد .
opendir ( ) این تابع ، پوشه ای که نام یا آدرس آن را برایش تعیین کرده اید ، باز می کند .
readdir ( ) این تابع می تواند فایل ها و محتویات درون یک پوشه را که قبلا توسط تابع ( ) opendir باز شده است را خوانده و بر می گرداند .
scandir ( ) این تابع لیست فایل ها و محتویات درون یک پوشه یا مسیر تعیین شده برای آن را به صورت یک آرایه بر می گرداند .

 

آپلود کردن فایل ها به سرویس دهنده

پی اچ پی این امکان را به شما می‌دهد که یک فایل را در سرور خود آپلود کنید.برای این که کاربران بتوانند یک فایل را در سرور شما آپلود نمایند ساده ترین کار ایجاد یک فرم بارگذاری فایل است.

ساختن یک فرم برای آپلود فایل

فرم به سایت شما این امکان را می‌دهد که کاربران به خیلی ساده یک فایل را آپلود نمایند. در مثال زیر کد نویسی یک فرم HTML را برای آپلود  فایل  در PHP مشاهده می‌کنید.

 

 

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

نکات موجود در فرم HTML بالا:

  • مشخصه enctype در برچسب فرم بیان کننده نوع محتوای فایلی است که می‌خواهد آپلود شود.
  • multipart/form-data زمانی استفاده می‌شود که فایلی که می‌خواهد آپلود شود از جنس  داده های باینری باشد.
  • مشخصه “type=”file در برچسب input زمانی استفاده می‌شود که ورودی به عنوان یک فایل پردازش شود. در حقیقت مسئول پردازش فرم است.

در نظر داشته باشید که بارگذاری فایل از طرف کاربران در سرور کاری پر خطر است. تنها به کاربرانی مطمئن اجزا آپلود یک فایل در PHP را بدهید.

ساختن اسکریپت هایی برای آپلود فایل در PHP

فایلی که در دستور HTML ساختیم به نام “upload_file.php” است. این فایل شامل کد هایی برای آپلود فایل در PHP است. این کد ها به صورت زیر است:

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در مثال بالا کد PHP به صورت شرطی نوشته است که اگر متغیر گلوبال file_$ دارای خطا بود، نمایش دهد که خطا وجود دارد و اطلاعات دیگر را نمایش ندهد در غیر این صورت یعنی اگر متغیر هیچ خطایی را شامل در بر نداشت، نام فایل، نوع فایل، سایز وکپی نام فایلی که به صورت موقتی در سرور ذخیره شده است را نمایش می‌دهد.

پارامترهایی که در ورودی فایل استفاده می‌شود به صورت زیر است:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

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

محدودیت آپلود فایل در PHP

در این اسکریپت ها یک سری محدودیت ها برای آپلود فایل ها قرار می‌دهیم. در این مثال تنها فایلی هایی با فرمت های .gif .jpeg و . png و حداکثر تا ۲۰ کیلو بایت می‌توان آپلود کرد.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در این دستور یک آرایه تعریف شده است که اگر فایلی که می‌خواهیم بارگذاری شود باید یکی از این فرمت ها را دارا باشد و سایز این فایل کمتر از ۲۰۰۰۰ هزار بایت باشد و در آخر if اول نوشته شده است” و اگر  پسوند فایل در آرایه جزو پسوندهای معرفی شده باشد شرط زیر را بررسی کن”

extension یک متغییری به نام Temp تعریف کرده است و آخرین temp مورد نظرش است(فرمت فایل). متغیر temp می‌گوید اگر نام فایل دارای چندین آرایه بود آن را با علامت” . ” از هم جدا کن. در حقیقت آخرین آرایه بعد از نقطه همان فرمت فایل می‌شود.

ذخیره کردن فایل آپلود شده

هنگامی که اسکریپت ها به پایان رسیدند یک کپی به صورت موقت از فایل نمایان می‌شود. برای این که فایل آپلود شده را ذخیره کنیم نیاز داریم آن را در یک جای دیگر کپی کنیم. به مثال زیر دقت کنید:

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

مثال قبل همان مثال بالاست با این تفاوت که می‌خواهیم آن را ذخیره کنیم. اگر فایل وجود داشت نمایش بده که فایل وجود دارد و اگر وحود نداشت یک کپی از آن را ذخیره کن و نام آن را آپلود بساز.

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برنامه نویسی شی گرا در php

Object Oriented Programming به معنای برنامه نویسی شی گرا است که در بسیاری از مواقع از مخفف آن OOP استفاده میشود. این روش برنامه نویسی  در PHP4 ایجاد شد و در php5  کمی توسعه یافت. در این درس میخواهیم  برنامه نویسی شی گرا و اجزای آن را معرفی کنیم.

اساس برنامه نویسی شی گرا و شی ها در PHP

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

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

کلاس ها در برنامه نویسی شی گرا

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

یک نمونه از این برنامه نویسی شی گر

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

کلاس ها در PHP

برای تعریف یک کلاس ها در PHP از کلمه class استفاده میکنیم. این کلاس میتواند شامل خصوصیات مختلف عمومی یا خصوصی باشد. به نحوه معرفی کلاس ها در PHP دقت کنید:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

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

پس از معرفی کلاس ها به معرفی خصوصیات می پردازیم. خاصیت ها در واقع متغیرهایی هستند که درون کلاس تعریف میشوند. خصوصیات در کلاس ها را با استفاده از مثال زیر توضیح خواهم داد.

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

نام این کلاس Emailer است. همان طور که مشاهده می کنید خصوصیات درون کلاس ها به صورت private مشخص شده اند. private بودن خواص یعنی تنها میتوانید درون کلاس از آن ها استفاده کنید بنابراین باعث افزایش امنیت در برنامه نویسی تعریف اشیا میشود. در برخی کتاب ها یا منبع های دیگر شاید خاصیت ها را با نام “فیلد” نیز مشاهده کنید. در این مثال sender ، $recipients ، $subject و body  خصوصیات کلاس Emailer هستند.

عنصر بعدی که با آن در کلاس های PHP مواجه میشوید، متد ها هستند. متد ها نیز چیز جدیدی نیستند، متد ها همان توابعی هستند که درون کلاس ها در PHP تعریف میشوند. در این مثال ۵ متد داریم. همان طور که مشاهده میکنید متد ها را به صورت public یا عمومی تعریف کرده ایم. یعنی هرگاه در برنامه یک شی ایجاد کنیم، متد ها از طریق شی های مرتبط میتوانند فراخوانی شوند. به عبارت دیگر در صورتی که خصوصی با private باشد تنها درون کلا در دسترس است و از طریق اشیا نمی توانیم به آن متد دسترسی داشته باشیم.

نام گذاری عناصر درون کلاس

برای نام گذاری عناصر درون کلاس ها یک قرار داد جهانی وجود دارد. همان طور که گفتم این تنها قرار داد است نه قانون.

  • حرف اول عناصر Private کوچک و حروف اول دیگر کلمات درون این عنصر بزرگ باشد مانند :myFirstValue
  • حرف اول تمامی کلمات عناصر public بزرگ و بقیه حروف به صورت کوچک باشد مانند : MyFirstValue

 

معرفی اشیا درون کلاس PHP

حال میخواهیم به فیلد ها  دسترسی پیدا کنیم و اشیا درون کلاس PHP را معرفی کنیم. به عنوان نمونه یک بخشی از مثال درس قبل را توضیح میدهم

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در ابتدای این کد فیلد Body را به صورت private تعریف کردیم. حال میخواهیم این فیلد را درون یک متد به کارببریم. برای این کار از this$ استفاده میکنیم. this$ تنها به شی اشاره میکند. بنابراین  this$->body  یعنی فیلد  body از شی ای که درون متد SetBody تعریف شده فراخوانی میشه.

نکته : لازم نیست بعد از فلش this$ فیلد ها را با $ تعریف کنید. PHP خود متوجه میشود که آن فیلد است نه متد. ( بعد از متد ها همیشه { می آید )

کد مثال درس قبل را دوباره قرار میدهم :

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

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

معرفی اشیا درون کلاس PHP

برای معرفی یک شی از کلمه new استفاده می کنیم. به مثال زیر دقت کنید:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

بدین ترتیب یک شی به نام emailerObject ایجاد کردیم. در این مثال در بخش construct_ یک مقدار ورودی قرار دادیم (sender$). بنابراین هنگام ساختن شی جدید نیز باید برای آن مقدار در نظر بگیریم. تابع construct_ مقدار سازنده کلاس را در برمیگیرد. به جای آن میتوانید نام کلاس را نیز قرار دهید اما باید توجه داشته باشید که با تغییر نام کلاس ،باید نام این تابع سازنده را نیز تغییر دهید.  حال میخواهیم با استفاده از این کلاس یک ایمیل ارسال کنیم.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

در این شی جدید مقدار فرستنده mmshfe@gmail.com است، با استفاده از متد AddReciptient یک گیرنده فراخوانی اضافه کردیم، با استفاده از متد SetSubject یک عنوان اضافه شد و به همین ترتیب بخش های دیگر تعریف شده اند.

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

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

معرفی MYSQL (مای اس کیو ال) در PHP

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

MYSQL چیست؟

MYSQL یک سیستم پایگاه داده که در وب قابل استفاده است.

MYSQL یک سیستم پایگاه داده که قابل اجرا بر روی سرور است.

MYSQL برای برنامه های بزرگ و کوچک بسیار ایده آل است.

MYSQL سریع، قابل اعتماد و استفاده از ان بسیار راحت است.

MYSQL از استاندارد های SQL پشتیبانی میکند.

MYSQL بر روی تعداد زیادی از سیستم عامل ها کار میکند.

MYSQL میتوان به صورت رایگان دانلود کرد.

MYSQL توسط شرکت اوراکل توزیع شده و پشتیبانی میشود.

داده ها در MYSQL در یک جدول ذخیره میشود. جدول شامل داده های مرتبط به هم است که در سطر و ستون ها به صورت منظم قرار گرفته اند.

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

  • کارکنان
  • مشتریان
  • محصولات
  • سفارش ها

 Queries چیست؟

Queries یک سوال یا یک درخواست است. میتوان یک پایگاه داده به صورت کوئری داشت که با استفاده از آن اطلاعات خاص و رکورد ها را بازگردانی کرد.

به Querie زیر نگاه کنید:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

کوئری ها از استاندارهای SQL پیروی میکنند. این Querie نوشته شده تمام اطلاعات را از ستون  “last name”،  جدول کارکنان را جمع آوری میکند.

ارتباط با سرور MYSQL

قبل از دسترسی به پایگاه داده باید ارتباط  با سرورMYSQL ایجاد کرد. برای ایجاد ارتباط با سرور MYSQL از کد های PHP و در حقیقت تابع ()mysqli_connect استفاده میشود.

نحوه نوشتن ارتباط با سرور MYSQL

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

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

پارامتر

توضیحات

هاست

نوشتن  آن اختیاری است. چه نام هاست و یا IP

نام کاربری

نوشتن آن اختیاری است. نام کاربری در MYSQL

کلمه عبور

نوشتن آن اختیاری است.

dbname

نوشتن آن اختیاری است. به طور پیش فرض نامی برایش ساخته میشود.

در مثال زیر ارتباط را در متغیر con$ ذخیره میکنیم تا در آینده در نوشتن اسکریپت ها از آن استفاده کنیم:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

متغیر con$ را تعریف کردیم و با استفاده از تابع ()mysqli_connect ارتباط با سرور برقرار شده است. حال باید این ارتباط مورد بررسی قرار گیرد که هیچ خطایی نداشته باشد. تابع ()mysqli_connect_errno آخرین کد خطایی را که تابع ()mysqli_connect دارد را نمایش میدهد.

بستن ارتباط

به صورت خود کار این ارتباط در پایان اجرای اسکریپت های پی اچ پی پایان می یابد اما اگر بخواهید خودتان این ارتباط را زود تر ببندید از تابع ()mysqli_close میتوانید استفاده کنید. به مثال زیر دقت کنید. این مثال همان شرایط مثال قبل را داراست با این تفاوت که قبل از پایان تابع این ارتباط بسته میشود.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

دستور insert into

از دستور insert into برای اضافه کردن اطلاعات جدید در جدول پایگاه داده استفاده میشود. این دستور هم همانند دستور هایی دیگری که  آموزش دادیم دارای یک سری قوانین برای نوشتن آن در PHP است.

نحوه نوشتن دستور insert into

میتوان دستور insert into را به دو صورت نوشت.

روش اول:

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

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

روش دوم:

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

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

همانند تمام بخش های پایگاه داده، از تابع ()mysqli_query  برای اجرا شدن PHP استفاده میکنیم. این تابع query یا کامنت ها به پایگاه داده ارسال میکند.

در درس قبل یک جدول به نام “Persons” با سه ستون “نام” ، “نام خانوادگی” و “سن” ایجاد کردیم. در این درس از همان جدول استفاده میکنیم و میخواهیم دو رکورد جدید به آن اضافه کنیم.

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

همان طور که در مثال مشاهده می کنید، اطلاعات دو نفر به نام های Peter و Glenn اضافه نمودیم. در این مثال از روش اول وارد کردن اطلاعات استفاده کرده و تمام اطلاعات را به صورت دستی وارد نموده ایم.

حال میخواهیم از روش دوم برای وارد کردن اطلاعات در جدول پایگاه داده استفاده کنیم. برای این کار نیازمند داشتن ستون و اطلاعات درون ان هستیم. به همین دلیل یک فرم HTML همانند فرم هایی که در مباحث فرم ایجاد کرده بودیم، میسازیم.

فرم HTML:

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در  مثال زیر هنگامی که کابر دکمه ارسال را میزند اطلاعات درون فرم به بخش insert.php  فرستاده میشود، سپس به پایگاه داده ارتباط پیدا میکند و ارزش ها را که در متغیر post-$ نوشته شده است را بررسی میکند.

تابع ()mysqli_query هر آنچه که در دستور insert into نوشته میشود را اجرا کرده و رکورد های جدید را به جدول “Persons” اضافه میکند.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

دستور select در پایگاه داده

همان طور که در درس های گذشته توضیح داده شد، از تابع ()mysqli_query برای اجرا شدن PHP استفاده میکنیم. این تابع query یا کامنت ها به پایگاه داده ارسال میکند.

در درس قبل، یک پایگاه داده ساختیم در آن یک جدول ایجاد کردیم و روش اضافه کردن اطلاعات به این جدول که به نام “person” بود را توضیح دادیم. حال در این بخش میخواهیم بررسی کنیم چگونه میتوان این اطلاعات را از جدول انتخاب کرد. برای این منظور از دستور select استفاده میکنیم. روش نوشتن این دستور به صورت زیر است:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در مثال زیر میخواهیم داده های ذخیره شده را انتخاب کنبم. با استفاده از کاراکتر * و دستور select میتوان تمام داده های موجود در جدول را انتخاب کرد.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در این مثال داده های ذخیره شده در متغیر result$ توسط تابع ()mysqli_query بازگردانی میشوند فقط باید توجه داشت که در این مثال فقط اطلاعات را استخراج میکند اما ترتیبی برای آن ندارد و مرتب نمایش نمیدهد. خروجی این مثال:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در مثال بعدی با استفاده از تابع ()mysqli_fetch_array میتوان ردیف اول اطلاعات ذخیره شده را انتخاب کرد. هر چه در این تابع فراخوان شود به ترتیب ردیف نمایش داده میشود. تابع ()mysqli_fetch_array به صورت یک حلقه عمل میکند. تا زمانی که ردیفی برای نمایش دادن وجود داشته باشد این تابع نمایش میدهد. برای نمابش داده های هر ردیف از متغیر row$ در PHP استفاده میکنیم. داده های استخراجی در یک جدول نمایش داده میشوند.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

خروجی این دستور به صورت زیر است:

Lastname

Firstname

Quagmire

Glenn

Griffin

Peter

 

 

 

 

 

 

نحوه نوشتن شرط where در پایگاه داده

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

این کد های نشان میدهد که چه متغیری select میشود و از کدام جدول و در این بخش شرط where مشخص میکند که کدام بخش خاص انتخاب شود.

به مثال زیر دقت کنید. در این مثال میخواهیم تمام ردیف ها جدول ” person” که نام “peter” را دارند را استخراج کنیم.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

ابتدا به پایگاه داده متصل شدیم، وجود خطا در اتصال را بررسی کردیم و تا زمانی که ردیفی باقی باشد شرط انتخاب نام “peter ” را بررسی کرده و نمایش میدهد.

در تمام جداول باید این امکان وجود داشته باشد که در صورت نیاز بتوان اطلاعات درون جدول را تغییر داد و یا به روز رسانی کرد. برای به روز رسانی داده های جداول ساخته شده در پایگاه داده از دستور update استفاده میکنیم. با استفاده از دستور Update داده های تغییر میکنند اما این که کدام داده در کدام جدول تغییر کند باید با دستور where  مشخص شود. در صورتی که دستور where را ننویسید تغییرات بر روی تمام جداول ایجاد خواهد شد.

نحوه نوشتن دستور update در پایگاه داده

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

این دستور را در یک مثال مشاهده کنید :

در درس های پیش درباره ساختن جدولی به نام “person” توضیحاتی داده شد. در این مثال میخواهیم سن فردی به نام peter را تغییر دهیم.

برای پردازش داده ها در PHP از تابع ()mysqli_query استفاده میکنیم. این تابع کوئری ها یا کامنت ها را به پایگاه داده متصل میکند.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

ابتدا به پایگاه داده متصل می شویم و بررسی میکنیم که خطایی در ایجاد این ارتباط وجود نداشته باشد و در صورت وجود خطا، آن را نمایش دهد. سپس اطلاعات مورد نیاز را در تابع ()mysqli_query تعریف میکنیم. میخواهیم در جدول “pesron” سن برابر با ۳۶ شود. اما سن چه کسی؟ با استفاده از دستور where جزئیات فیلد مربوطه را ذکر میکنیم. در غیر این صورت سن تمام افراد در تمام جداول برابر با ۳۶ میشود. و درنهایت تابع ()mysql بسته میشود. در خروجی این دستور تنها سن فردی به نام peter تغییر میکند.

دستور Delete در پایگاه داده

هنگامی که بخواهیم در MYSQL یک یا چند رکورد را از جدولی حذف کنیم از دستور Delete استفاده میکنیم. همانند دستور Update که برای به روز رسانی داده ها استفاده میشود، در دستور Delete نیز باید از شرط Where استفاده شود. در صورتی که هیچ شرطی را برای جدول در نظر نگیرید تمام رکورد ها با استفاده از دستور Delete حذف میشوند.

نحوه نوشتن دستور Delete

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در مقابل دستور DELETE FROM نام جدولی که میخواهیم در رکورد هایش را تغییر دهیم را نوشته و با استفاده از شرط WHERE مشخص میکنیم که چه رکورد هایی حذف شوند.

با استفاده از یک مثال نحوه استفاده از این دستور را بهتر متوجه شوید. میخواهیم در جدول ‘person’ رکوردی را حذف کنیم، برای این که تمام اطلاعات حذف نشوند باید برای ان شرط قرار دهیم، شرط این مثال حذف نام خانوادگی Griffin است.

به خاطر داشته باشید برای پردازش داده ها در PHP از تابع ()mysqli_query استفاده میکنیم. این تابع کوئری ها یا کامنت ها را به پایگاه داده متصل میکند.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

ابتدا به پایگاه داده متصل می شویم و بررسی میکنیم که خطایی در ایجاد این ارتباط وجود نداشته باشد و در صورت وجود خطا، آن را نمایش دهد. سپس اطلاعات مورد نیاز را در تابع ()mysqli_query تعریف میکنیم. سپس در جدول persons نام خانوادگی Griffin حذف میشود و نام بقیه افراد نوشته میشود و در نهایت پایگاه داده بسته میشود.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

کوکی در PHP یک فایل بسیار کوچک است که سرور بر روی مرورگر کامپیوتر کاربر ایجاد می‌کند و اطلاعات کاربر را در هر بار ورود به آن سایت در اختیار سرور می‌گذارد. این اطلاعات می‌تواند شامل نام کاربری، رمز عبور و تنظیمانی که کاربر بر روی سایت برای خود ایجاد کرده‌اند باشد. برای ذخیره این اطلاعات معمولا از کاربر در این باره سوال پرسیده می‌شود که می‌خواهد اطلاعاتش را به خاطر سپرده شود یا خیر.

چگونه یک کوکی در PHP ایجاد کنید؟

ایجاد کردن یک کوکی در PHP بسیار ساده است، تنها کافی است از تابع ()setcookie استفاده کنید. اما باید این نکته مورد توجه قرار دهید که این تابع باید قبل از برچسب <html> قرار بگیرد.

نحوه نگارش کوکی:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در مثال زیر یک کوکی به نام ” user” ایجاد می‌کنیم و “Alex Porter” را به عنوان ارزش برایش در نظر می‌گیریم. همچنین برایش این ویژگی را در نظر می‌گیریم که این کوکی بعد از ۱ ساعت دیگر قابل استفاده نباشد.

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

ارزش کوکی به صورت خودکار در URL ذخیره می‌شود و به صورت خودکار از بین می‌رود.

اطلاعات کوکی را می‌توان به نحو دیگری نیز غیر قابل استفاده کرد. در مثال زیر این روش را توضیح می‌دهیم. لازم به ذکر است که این روش ساده تر است و می‌توان ثانیه ها را نیز لحاظ کرد.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

زمان استفاده از این کوکی تنها برای یک ماه است، این زمان را به صورت ۶۰ ثانیه، ۶۰ دقیقه، ۲۴ ساعت، ۳۰ روز نمایش داده شده است.

بازیابی ارزش یک کوکی در PHP

برای بازیابی ارزش یک کوکی کافی است از متغیر cookie_$ استفاده کنید. در مثال زیر ارزش یک کوکی به نام “user” را بازیابی می‌کنیم و آن را بر روی صفحه نمایش می‎‌دهیم.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در مثال زیر از تابع ()isset برای بررسی کوکی استفاده می‌شود. این که آیا برای این کاربر کوکی اعمال شده است یا خیر.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

اگر در بالا کاربر قبلا عضو شده باشد با نام او به خوش آمد می‌گوید در غیر این صورت به عنوان مهمان سایت به او خوش آمد می‌گوید.

 پاک کردن یک کوکی در PHP

هنگامی که می‌خواهید یک کوکی را پاک نمایید باید اطمینان حاصل نمایید تا کوکی مورد نظر تاریخ استفاده اش به پایان رسیده باشد.

به مثال زیر دقت کنید:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در این مثال کوکی تنها ۱ ساعت قابلیت استفاده دارد. اگر دقت کنید قبل از بیان زمان به جای علامت + از علامت – استفاده شده است و در این زمان کوکی پاک خواهد شد.

پشتیبانی مرورگر از کوکی

اگر برنامه شما جزو برنامه ‌هایی باشد که مرورگر کوکی را پشتیبانی نمی‌کند مجبور هستید از روش دیگری برای ذخیره کوکی استفاده کنید. در مبحث فرم ها به روش تصویب داده های فرم در PHP اشاره کردیم.

فرم زیر کاربر را در صورت کلیک بر روی دکمه submit به فایل “welcome.php” می‌فرستد.

 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

و برای بازیابی ارزش فایل “welcome.php” به صورت زیر عمل می‌کنیم:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در این دستور ارزش  نوشته شده در فایل “welcome.php”  ذخیره می‌شود و برای بازیابی باید به این فایل رجوع کرد. و دیگر کوکی تعریف نمی‌شود.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

Sessions در PHP

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

هاست یا سرور سایتی که شما بازدید کننده آن هستید، نمی‌تواند اطلاعاتی راجع به شما به سرور بدهد زیرا مرورگر HTML هیچ اطلاعاتی راجع به شما نمی‌تواند بگوید. و در این شرایط تمایز کاربران از هم دچار مشکل می‌شود و سرور نمی‌تواند به شما خدماتی ارائه دهد. برای حل این مشکل، برنامه نویسی PHP بخشی به نام Sessions را تعریف نموده است. اطلاعات شما با استفاده از این دستور در سرور سایتی که از آن بازدید می‌کنید ذخیره می‌شود. بنابراین برای مشاهده صفحات مختلف یک سایت نیاز نیست در هر صفحه نام کاربری و رمز عبور خود را وارد نمایید.  راحتی ای که شما در بازدید صفحات یک سایت دارید به دلیل این دستور است.

هاست سایتی که به ان وارد می‌شوید در لحظه ورود یک Sessions خاص به نام unique ID – UID برایتان می‌سازد و این اطلاعات را در سشن ذخیره می‌کند. این اطلاعات تا زمانی که در سایت هستید یا Sessions دارای اعتبار است در سرور ذخیره می‌شود همچنین این اطلاعات در کوکی نیز ذخیره می‌شود.

Sessions نیز همانند کوکی ها موقتی هستند و تا یک زمان خاص ذخیره می‌شود.

شروع Sessions در PHP

قبل از ذخیره شدن اطلاعات در سشن، شما باید Sessions را شروع کنید. برای این کار باید دقت داشته باشید که تابع ()session_start باید قبل از برچسب <html> نوشته شود.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

این کد به شما اجازه می‌دهد زمانی که کاربر در سایت ثبت نام می‌کند،اطلاعاتش ذخیره شود و یک UID برای session کاربر می‌سازد.

ذخیره متغیرهای session درPHP

درست ترین راه برای ذخیره و بازیابی اطلاعات درون سشن  استفاده از متغیر SESSION_$ در PHP است. به دستور زیر دقت کنید.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

این دستور می‌خواهد تعداد  دفعات نمایش صفحه  را مشخص کند بنابراین خروجی به صورت زیر است:

Pageviews=1

مثال زیر یک دستور است که با تعداد دفعات بازدید یک صفحه را نشان می‌دهد. با استفاده از تابع ()isset متغیری به نام view را که در session ذخیره شده است را بررسی می‌کند، اگر کاربر برای بار اول  وارد سایت شده است عددی برابر با ۱ را نمایش می‌دهد و در ورود های بعدی مقدار آن را افزایش می‌دهد.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

پاک کردن یک session در PHP

هنگامی که بخواهید اطلاعاتی را از یک session پاک کنید، می‌توانید از تابع های ()unset و ()session_destroy استفاده کنیم. تابع ()unset برای آزاد کردن یک متغیر در session استفاده می‌شود. به مثال زیر دقت کنید:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

برای پاک کردن کامل یک session از تابع ()session_destroy استفاده می‌شود:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

باید دقت داشته باشید این دستور تمام اطلاعات درون session را پاک می‌کند.

ارسال ایمیل در PHP

در این بخش به معرفی تابع E-mail و چگونگی ارسال ایمیل در PHP می‌پردازیم.از فرم ها در سایت برای عضویت کاربران، ایجاد خبرنامه ، تماس با ما و … استفاده میشود و همه این فرم ها دارای یک بخش ایمیل هستند. با استفاده از این بخش میتوان ایمیلی مبتنی بر عضویت در سایت یا خبر برای کاربر فرستاد. تابع ()Email این امکان را در PHP ایجاد میکند.

این تابع به صورت زیر نوشته میشود:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

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

  • to :  نوشتن این پارامتر اجباری است و ایمیل گیرنده و یا گیرندگان را مشخص میکند.
  • subject : نوشتن این پارامتر اجباری است و از نوع متن بوده و تنها میتواند یک خط باشد. موضوع عنوان ایمیل را مشخص میکند
  • message : نوشتن این پارامتر اجباری است و از نوع متن بوده و نباید بیش از ۷۰ کاراکتر باشد. متن نوشته شده داخل ایمیل را مشخص میکند و هر خط باید با کاراکتر (n/) از خط قبل و بعد جدا شود.
  • header :  نوشتن این پارمتر اختیاری است.  Cc یا Bcc را مشخص میکند. برای جدا کردن هر خط از خط قبلی باید از کارکتر (\r\n) استفاده شود.
  • Parametrs : نوشتن این بخش اختیاری است. برای اضافه کردن پارامتر ها به برنامه ارسال ایمیل استفاده میشود.

ارسال ایمیل در PHP

کد نویسی زیر ساده ترین روش برای ارسال یک ایمیل از طریق PHP است. البته فرستادن یک ایمیل به این سادگی بعید است در ادامه به روش کامل فرستادن ایمیل از طریق PHP را آشنا خواهید شد.

در مثال زیر متغیر های  to ، $subject، $message، $header، $form تعریف شده اند و  از این متغیر ها در تابع ()Email استفاده شده است. این تابع ایمیل را ارسال کرده و یک پیام مبتنی بر تایید برای کاربر میفرستد

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

 بخش ایمیل در یک فرم PHP

مثال زیر بخشی از یک فرم که شامل ایمیل است را نشان میدهد. در این  مثال متغیر ها اطلاعات را از کاربر گرفته و در متغیر REQUEST_$ ذخیره میکند. در If بررسی میکند  که پارامترهای دلخواه در این متغیر برای ذخیره شدن نوشته شده اند یا خیر اگر نوشته شده بودند که ذخیره کرده و ایمیلی برای کاربر میفرستند در غیر این صورت دوباره آن فرم را نمایش میدهد.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

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

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

امنیت ایمیل در PHP

در این درس میخواهیم بررسی کنیم که ایمیل نوشته شده اسپم هست یا یک کاربر واقعی است.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

مشکل کد بالا این است که کاربر میتواند در بخش Header  تابع ایمیل داده های غیر مجاز وارد نماید. تصور کنید که کاربر تعداد زیادی ایمیل  مانند زیر را در این بخش وارد نماید چه اتفاقی پیش می آید؟

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

هر آنچه که تابع ایمیل میخواهد برای کابر بفرستند در header ذخیره شده و برای تمام ایمیل های  فرستاده میشود و از نظر وب مستر دارای ایراد است و امنیت ایمیل در PHP و باعث ایجاد اختلال در برنامه میشود.

جلوگیری از حملات به ایمیل در PHP

برای جلوگیری این حملات اسکریپتی به ایمیل در PHP به معتبر بودن داده ها را بررسی میکنیم.

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

  • تابع ( ) FILTER_SANITIZE_EMAIL: اگر بیش از یک ایمیل نوشته شده باشد، ایمیل ها را پاک میکند.
  • تابع ( ) FILTER_VALIDATE_EMAIL: معتبر بودن ایمیل ها را بررسی میکند.
 

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

مدیریت خطا در PHP

به طور پیش فرض مدیریت خطا بسیار ساده است. پیام خطا دارای یک نام فایل، شماره ی خطی که در آن خطا رخ داده است و توضیحی درباره خطا به مرورگر برای کاربر فرستاده میشود.

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

روش هایی برای مدیریت خطا در PHP  وجود دارد که روش های رایج آن به صورت زیر است:

  • تابع ساده ()die
  • خطا های معمول و فعال کننده های خطا
  • گزارش خطا

آسان ترین راه مدیریت خطا در PHP

ابتدایی ترین و ساده ترین راه برای مدیریت خطا در PHP استفاده از تابع ()die است. در مثال زیر میخواهیم یک فایل متنی را باز کنیم. در صورت نبودن فایل پیغام خطا به کاربر نشان میدهد.

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

با استفاده از تابع fopen فایل مورد نظر را باز کردیم، اگر تابع دارای خطا باشد خطا را به صورت زیر نشان میدهد:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

برای این که خطایی مطابق با خطای فوق را نداشته باشیم و مطمئن باشیم که ابتدا بررسی شده است که فایلی به این نام وجود داشته است یا خیر و در صورت پیدا نکردن فایل آن را نشان دهد کد زیر میتواند به ما کمک کند:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

در ابتدای این کد گفته شده اگر فایل welcome.txt وجود نداشت تابع ()die پیام خطا را نشان میدهد، در غیر این صورت فایل را باز میکند. پیام خطایی که نشان میدهد دیگر همانند پیام خطای قبل طولانی نخواهد بود و تنها بیان میکند که فایلی یافت نشد.

File not found

این روش برای نمایش خطا های معمولی استفاده میشود، برای خطا های پیشرفته تر باید از دستورهای کامل تری استفاده شود.
در درس بعدی به توضیح روش های دیگر مدیریت خطا می پردازیم.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

ایجاد کنترل‌کننده خطا در PHP

ایجاد یک کنترل‌کننده خطا در PHP بسیار ساده است.  می توان یک تابع ساده ایجاد کرد  تا زمانی که خطایی ایجاد شد، فراخوانی شود.

این تابع باید حداقل دو پارامتر داشته باشد. پارامترهای اجباری :

  • error level(اهمیت خطا)
  • error message( پیغام خطا)

اما در کل میتواند ۵ پارامتر را در برگیرد. نوشتن سه پارامتر دیگر به صورت اختیاری است. این پارمترها شامل:

  • line-number (شماره خطی که در آن خطا رخ داده است)
  • the error context (محتوانی خطا)
  • file ( نام فایل)

 

نحوه نوشتن این تابع بری ایجاد کنترل‌کننده خطا در PHP به صورت زیر است:

توضیحات

پارامترها

این پارامتر اهمیت خطا را نشان میدهد.نوشتن اجباری است و با عدد نمایش میدهند. توضیح آن در جدول زیر آمده است.

error_level

پیغامی درباره خطا است.  نوشتن آن اجباری است

error_message

این پیغام نام متغیر را مشخص میکند و نوشتن آن اختیاری است.

error_file

این پیغام شماره خطی را که خطا در آن رخ داده است نشان میدهد. نوشتن این پارامتر اختیاری است

error_line

این خطا شامل تمام متغیرها و ارزش آن ها است زمانی که خطایی رخ میددهد. نوشتن این پارامتر اختیاری است.

error_context

گزارش اهمیت خطا درPHP

جدول زیر انواع  اهمیت خطا در PHP وتوضیح هر یک  را نشان میدهد.

توضیحات

پارامتر

ارزش

اهمیت خطا کم بوده و مانع اجرای کد نویسی ها نمیشود.

E_WARNING

۲

برنامه ممکن اسن دچار مشکل شده باشد و خطا نمایش دهد اما در روند ادامه برنامه مشکلی ایجاد نمیکند.

E_NOTICE

۸

یک پیغام مهم است و در روند اجرای اسکریپت ها اختلالی ایجاد میکند.

E_USER_ERROR

۲۵۶

یک پیغام ساده است و در روند اجرای اسکریپت ها اختلالی ایجاد نمیکند. مانند E_WARNING خطا هم توسط طراح وب برنامه پیش بینی میشود

E_USER_WARNING

۵۱۲

پیغام خطا یک پیغام معمولی بوده و طراح وب آن را پیش بینی میکند

E_USER_NOTICE

۱۰۲۴

یک خطای بسیار مهم و اسکریپت ها را از کار می اندازد

E_RECOVERABLE_ERROR

۴۰۹۶

همه نوع خطا را شامل میشود.

E_ALL

۸۱۹۱

حال بیاید برای کنترل خطا ها یک تابع را به عنوان مثال تعریف کنیم:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

کد نوشته شده فوق به صورت ساده ای کنترل کننده خطا در PHP است. در این تابع متغیر اول errno$ اهمیت خطا  و errstr$ پیغام خطا را ذخیره میکند و سپس به خروجی میفرستد.

 

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

شخصی سازی کنترل کننده در PHP

در مثال زیر از با شخصی سازی کنترل کننده خطا برای تمام خطا ها استفاده میکنیم:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

 

تا زمانی که از تابع set-error-handel برای شخصی سازی تمام خطا ها استفاده میشود فقط نیاز به یک پارامتر است، البته خودتان میتوانید یک پارامتر دیگر اضافه کنید تا اهمیت خطا را برایتان مشخص کند. به مثال زیر دقت کنید:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

خطای این مثال تعریف نشدن متغیر test است. در این مثال هیچ تعریفی برای متغیر test نشده است. به همین دلیل خطا خواهد گرفت. خروجی این دستور باید چیزی شبیه به این باشد:

مخفی

    برای مشاهده مطلب باید در سایت ثبت نام کنید و سپس وارد شوید.

خب آموزش گام به گام php تمام شد، امیدوارم دوستان استفاده کرده باشند در این گام ها مهمترین و کاربردی ترین مباحث php مطرح شد دوستان عزیز مشکلات و سوالات خود را می توانند با بنده مطرح نمایند.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری
    • 1 Posts
    • 13 Views
    • 1 Posts
    • 17 Views
    • 1 Posts
    • 22 Views
    • 1 Posts
    • 41 Views
    • 1 Posts
    • 23 Views
    • 1 Posts
    • 29 Views
    • 1 Posts
    • 45 Views

  • سفارش پروژه برنامه نویسی

×
×
  • اضافه کردن...