مباحث عمومی در PHP

P O U R I A

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

  1. دستورات تک خطی و دستورات چند خطی (بلوک دستور) در PHP
  2. تولید اعداد تصادفی، با تابع rand در PHP
  3. به دست آوردن آدرس URL فعلی (آدرس اینترنتی صفحه فعلی) با کدنویسی PHP
  4. مشاهده اطلاعات مربوط به نسخه PHP نصب شده بر روی سیستم، با تابع phpinfo در PHP
  5. ساخت حلقه بر اساس عناصر یک آرایه، با دستور foreach در PHP
  6. رفتن به گام بعدی حلقه (در for یا while یا foreach)، با دستور continue در PHP
  7. توقف اجرای دستورات و گام های بعدی حلقه (در for یا while یا foreach) و عبور از آن، با دستور break در PHP
  8. اشاره گرها (pointers) در PHP
  9. ارسال مقدار متغیرها، از یک صفحه به صفحه ای دیگر، با روش GET در PHP
  10. نحوه ارسال متغیرها با روش GET ، در صورت وجود کاراکترهای غیر مجاز برای URL صفحه، با تابع urlencode در PHP
  11. جلسه ها (session) ، در PHP
  12. اجرای کدهای قرار گرفته در یک فایل دیگر، با دستور include در PHP
  13. اجرا شدن کدها، تنها در برخی از صفحات خاص سایت، با PHP
  14. رفتن به صفحه جدید، با دستور header در PHP
  15. توقف کامل اجرای ادامه کدها، با تابع die در PHP
  16. نمایش صفحه ای از سایتی دیگر، درون سایت خود، با کدهای PHP
  17. نمایش رتبه الکسا (Alexa Rank) و رتبه الکسا در کشور (Country Rank)، برای یک سایت، با کدهای PHP
  18. پاک کردن حافظه cache ناشی از برخی تابع های PHP ، با تابع clearstatcache در PHP
  19. توقف موقتی اجرای ادامه کدهای صفحه، به مدت چند ثانیه، با تابع sleep در PHP



منبع: کلیدستان
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
دستورات تک خطی و دستورات چند خطی (بلوک دستور) در PHP

دستورات تک خطی و دستورات چند خطی (بلوک دستور) در PHP

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

مثال :


کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B]
[COLOR=#B1B100]echo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"hello"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR] 
[B]?>[/B][/FONT]
[/FONT][/COLOR]
نتیجه :

Untitled.jpg
شیوه دوم نوشتن دستورات PHP به صورت چند خطی می باشد. در این شیوه، چند دستور را با هم و درون یک بلوک می نویسیم. شروع و پایان بلوک دستورها، با علامت های { و } مشخص می شود. دقت شود که درون بلوک دستور نیز باید پس از پایان هر دستور، علامت ; را بنویسیم.

بلوک های دستور برای اجرای دستورات حلقه ها یا عبارت های if به کار می روند. به مثال زیر توجه کنید :

مثال :


کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B]
[COLOR=#B1B100]if[/COLOR] [COLOR=#009900]([/COLOR][COLOR=#CC66CC]7[/COLOR][COLOR=#339933]>[/COLOR][COLOR=#CC66CC]6[/COLOR][COLOR=#009900])[/COLOR][COLOR=#009900]{[/COLOR]
    [COLOR=#B1B100]echo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"hello"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    [COLOR=#B1B100]echo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"<br />"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    [COLOR=#B1B100]echo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#CC66CC]2[/COLOR][COLOR=#339933]+[/COLOR][COLOR=#CC66CC]3[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR] 
[B]?>[/B][/FONT]
[/FONT][/COLOR]
نتیجه :

Untitled.jpg
نکته :

می توان در کدهای PHP یک بلوک دستور را همچنان باز گذاشت (یعنی علامت } پایانی را ننویسیم) و سپس دوباره در محلی دیگر که کدهای PHP نوشته می شوند، ادامه دستورات بلوک دستور را نوشته و سپس بلوک دستور را با علامت } ببندیم. به مثال زیر توجه کنید :

مثال :


کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B]
[COLOR=#B1B100]if[/COLOR] [COLOR=#009900]([/COLOR][COLOR=#CC66CC]7[/COLOR][COLOR=#339933]>[/COLOR][COLOR=#CC66CC]6[/COLOR][COLOR=#009900])[/COLOR][COLOR=#009900]{[/COLOR]
    [COLOR=#B1B100]echo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"hello"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[B]?>[/B]

[B]<?php[/B]
    [COLOR=#B1B100]echo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"<br />"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    [COLOR=#B1B100]echo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#CC66CC]2[/COLOR][COLOR=#339933]+[/COLOR][COLOR=#CC66CC]3[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR] 
[B]?>[/B][/FONT]
[/FONT][/COLOR]
نتیجه :

Untitled.jpg
بنابراین می توانیم از امکان فوق استفاده کرده و کدهای زیر را بنویسیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]<html>
<head>
</head>
<body>

[B]<?php[/B]
[COLOR=#B1B100]if[/COLOR] [COLOR=#009900]([/COLOR][COLOR=#CC66CC]7[/COLOR][COLOR=#339933]>[/COLOR][COLOR=#CC66CC]6[/COLOR][COLOR=#009900])[/COLOR][COLOR=#009900]{[/COLOR]
    [COLOR=#B1B100]echo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"hello"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[B]?>[/B]

<p>this is a paragraph.</p>

[B]<?php[/B]
    [COLOR=#B1B100]echo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#CC66CC]2[/COLOR][COLOR=#339933]+[/COLOR][COLOR=#CC66CC]3[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR] 
[B]?>[/B]

</body>
</html>[/FONT]
[/FONT][/COLOR]
نتیجه :



Untitled.jpg
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
تولید اعداد تصادفی، با تابع rand در PHP

تولید اعداد تصادفی، با تابع rand در PHP

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

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

[h=4]مثال :[/h]
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B]
[COLOR=#000088]$A[/COLOR][COLOR=#339933]=[/COLOR][COLOR=#990000]rand[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#B1B100]echo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#000088]$A[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[B]?>[/B][/FONT]
[/FONT][/COLOR]
[h=4]نتیجه :Untitled.jpg[/h]
[h=4]مثال :[/h]تعیین می کنیم که عدد تصادفی که تولید می شود، دارای حداقل مقدار برابر 1 و حداکثر مقدار برابر 100 باشد :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B]
[COLOR=#000088]$A[/COLOR][COLOR=#339933]=[/COLOR][COLOR=#990000]rand[/COLOR][COLOR=#009900]([/COLOR][COLOR=#CC66CC]1[/COLOR][COLOR=#339933],[/COLOR][COLOR=#CC66CC]100[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#B1B100]echo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#000088]$A[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[B]?>[/B][/FONT]
[/FONT][/COLOR]
[h=4]نتیجه :Untitled.jpg[/h]
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
به دست آوردن آدرس URL فعلی (آدرس اینترنتی صفحه فعلی) با کدنویسی PHP

به دست آوردن آدرس URL فعلی (آدرس اینترنتی صفحه فعلی) با کدنویسی PHP

ممکن است نیاز داشته باشیم که بدانیم، آدرس URL صفحه فعلی چیست. یعنی متوجه بشویم که صفحه فعلی که اکنون در حال اجرا شدن است و کاربر آن را می بیند، دارای چه آدرس URL ای می باشد (آدرس اینترنتی این صفحه).

برای این منظور، باید کدهای PHP زیر را بنویسیم :

[h=4]مثال :[/h]
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B] 
[COLOR=#000088]$fullurl[/COLOR] [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]"http://[COLOR=#006699][B]$_SERVER[HTTP_HOST][/B][/COLOR][COLOR=#006699][B]$_SERVER[REQUEST_URI][/B][/COLOR]"[/COLOR][COLOR=#339933];[/COLOR]
[B]?>[/B][/FONT]
[/FONT][/COLOR]
توسط کد PHP بالا، آدرس URL فعلی، در متغیر $fullurl ذخیره خواهد شد.به مثال زیر توجه کنید :

[h=4]مثال :[/h]
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B] 
[COLOR=#000088]$fullurl[/COLOR] [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]"http://[COLOR=#006699][B]$_SERVER[HTTP_HOST][/B][/COLOR][COLOR=#006699][B]$_SERVER[REQUEST_URI][/B][/COLOR]"[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#B1B100]echo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#000088]$fullurl[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[B]?>[/B][/FONT]
[/FONT][/COLOR]
[h=4]نتیجه :[/h]دقت کنید که به این دلیل، آدرس زیر با آدرسی که در مرورگر خود مبینید متفاوت است که من کدها را در یک صفحه دیگر نوشته ام و سپس نتیجه را در اینجا نمایش داده ام (با ارجاع به آن صفحه). بنابراین آدرس نمایش داده شده، آدرس واقعی صفحه می باشد :
Untitled.jpg
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
مشاهده اطلاعات مربوط به نسخه PHP نصب شده بر روی سیستم، با تابع phpinfo در PHP

مشاهده اطلاعات مربوط به نسخه PHP نصب شده بر روی سیستم، با تابع phpinfo در PHP

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

[h=4]مثال :[/h]
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B]
[COLOR=#990000]phpinfo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[B]?>[/B][/FONT]
[/FONT][/COLOR]
توصیه می شود که این تابع را در ساختار سایت خود به کار نبرید، تا دیگران نتوانند اطلاعات مربوط به سیستم شما را ببینند.
 

P O U R I A

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

ساخت حلقه بر اساس عناصر یک آرایه، با دستور foreach در PHP

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

برای آشنایی با نحوه استفاده از دستور foreach در PHP ، به مثال زیر توجه کنید :

[h=4]مثال :[/h]
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B] 
[COLOR=#000088]$numbers[/COLOR] [COLOR=#339933]=[/COLOR] [COLOR=#990000]array[/COLOR][COLOR=#009900]([/COLOR][COLOR=#CC66CC]4[/COLOR][COLOR=#339933],[/COLOR][COLOR=#CC66CC]2[/COLOR][COLOR=#339933],[/COLOR][COLOR=#CC66CC]5[/COLOR][COLOR=#339933],[/COLOR][COLOR=#CC66CC]9[/COLOR][COLOR=#339933],[/COLOR][COLOR=#CC66CC]7[/COLOR][COLOR=#339933],[/COLOR][COLOR=#CC66CC]6[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#B1B100]foreach[/COLOR][COLOR=#009900]([/COLOR][COLOR=#000088]$numbers[/COLOR] [COLOR=#B1B100]as[/COLOR] [COLOR=#000088]$this_number[/COLOR][COLOR=#009900])[/COLOR][COLOR=#009900]{[/COLOR]
    [COLOR=#000088]$a[/COLOR] [COLOR=#339933]=[/COLOR] [COLOR=#000088]$this_number[/COLOR] [COLOR=#339933]*[/COLOR] [COLOR=#CC66CC]2[/COLOR][COLOR=#339933];[/COLOR]
    [COLOR=#B1B100]echo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#000088]$a[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    [COLOR=#B1B100]echo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"<br />"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR]
[B]?>[/B][/FONT]
[/FONT][/COLOR]
با دقت به نحوه استفاده از دستور foreach توجه نمایید. قبل از دستور foreach ، ابتدا آرایه ای با نام numbers را تعریف کرده ایم. سپس برای اینکه بتوانیم از دستور foreach برای فراخوانی تک تک عناصر آرایه numbers استفاده نماییم، شکل کلی زیر را به کار برده ایم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#B1B100]foreach[/COLOR][COLOR=#009900]([/COLOR][COLOR=#000088]$numbers[/COLOR] [COLOR=#B1B100]as[/COLOR] [COLOR=#000088]$this_number[/COLOR][COLOR=#009900])[/COLOR][COLOR=#009900]{[/COLOR]
    [COLOR=#666666][I]// اجرا می شوند $this_number دستوراتی که بر اساس[/I][/COLOR]
[COLOR=#009900]}[/COLOR][/FONT]
[/FONT][/COLOR]
این شکل کلی، اعلام کرده است که یک حلقه ساخته شود که در آن، هر بار، یک عنصر از آرایه numbers فراخوانی شود و نام آن (برای استفاده در حلقه)، برابر this_number در نظر گرفته شود. سپس درون حلقه، دستوراتی را بر اساس نام this_number می نویسیم که باعث می شود که این دستورات، بر اساس عناصر آرایه numbers اجرا گردند (ما در این مثال، عناصر را از آرایه گرفته و ضرب در 2 می کنیم و در یک متغیر با نام a ، ذخیره می نماییم و مقدار آن را نیز در خروجی چاپ می کنیم).

[h=4]نتیجه :Untitled.jpg[/h]
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
رفتن به گام بعدی حلقه (در for یا while یا foreach)، با دستور continue در PHP

رفتن به گام بعدی حلقه (در for یا while یا foreach)، با دستور continue در PHP

همان طور که می دانید، هر حلقه که در PHP می سازیم (با دستوراتی مثل for و while و foreach)، دارای تعدادی گام می باشد. چنانچه بخواهیم که تحت یک سری شرایط خاص، تنها بخشی از دستورات یک گام اجرا گردد، باید از دستور continue استفاده نماییم. برای درک بهتر این موضوع، به مثال زیر توجه کنید :

[h=4]مثال :[/h]فرض کنید که در یک حلقه که شامل 5 گام است و در هر گام، یک عبارت در خروجی چاپ می شود، بخواهیم که در گام دوم، دستور مربوط به چاپ در خروجی، اجرا نگردد. برای این منظور، کدهای زیر را می نویسیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B] 
[COLOR=#000088]$numbers[/COLOR] [COLOR=#339933]=[/COLOR] [COLOR=#990000]array[/COLOR][COLOR=#009900]([/COLOR][COLOR=#CC66CC]4[/COLOR][COLOR=#339933],[/COLOR][COLOR=#CC66CC]2[/COLOR][COLOR=#339933],[/COLOR][COLOR=#CC66CC]5[/COLOR][COLOR=#339933],[/COLOR][COLOR=#CC66CC]9[/COLOR][COLOR=#339933],[/COLOR][COLOR=#CC66CC]7[/COLOR][COLOR=#339933],[/COLOR][COLOR=#CC66CC]6[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#B1B100]for[/COLOR][COLOR=#009900]([/COLOR][COLOR=#000088]$x[/COLOR][COLOR=#339933]=[/COLOR][COLOR=#CC66CC]1[/COLOR][COLOR=#339933];[/COLOR] [COLOR=#000088]$x[/COLOR][COLOR=#339933]<[/COLOR][COLOR=#CC66CC]6[/COLOR][COLOR=#339933];[/COLOR] [COLOR=#000088]$x[/COLOR][COLOR=#339933]++[/COLOR][COLOR=#009900])[/COLOR][COLOR=#009900]{[/COLOR]
    [COLOR=#B1B100]if[/COLOR] [COLOR=#009900]([/COLOR][COLOR=#000088]$x[/COLOR] [COLOR=#339933]==[/COLOR] [COLOR=#CC66CC]2[/COLOR][COLOR=#009900])[/COLOR][COLOR=#009900]{[/COLOR]
        [COLOR=#B1B100]continue[/COLOR][COLOR=#339933];[/COLOR]
    [COLOR=#009900]}[/COLOR]
    [COLOR=#B1B100]echo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"x = "[/COLOR] [COLOR=#339933].[/COLOR] [COLOR=#000088]$x[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    [COLOR=#B1B100]echo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"<br />"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR]
[B]?>[/B][/FONT]
[/FONT][/COLOR]
در کدهای بالا، تعیین کرده ایم که اگر متغیر x برابر با 2 بود (یعنی در گام دوم حلقه)، آنگاه دستور continue اجرا گردد. این دستور باعث می شود که ادامه دستورات حلقه، در گام دوم، اجرا نشوند و حلقه، گام سوم را شروع کند.

[h=4]نتیجه :[/h]
Untitled.jpg
مشاهده می کنید که دستور چاپ عبارت در خروجی، برای گام دوم، اجرا نشده است.
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
توقف اجرای دستورات و گام های بعدی حلقه (در for یا while یا foreach) و عبور از آن، با دستور break در PHP

توقف اجرای دستورات و گام های بعدی حلقه (در for یا while یا foreach) و عبور از آن، با دستور break در PHP

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

[h=4]مثال :[/h]فرض کنید که در یک حلقه که شامل 5 گام است و در هر گام، یک عبارت در خروجی چاپ می شود، بخواهیم که در گام سوم، بقیه دستورات حلقه اجرا نگردد و PHP ، از حلقه خارج شده و از آن عبور کند و سایر دستورات فایل را اجرا نماید. برای این منظور، کدهای زیر را می نویسیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B] 
[COLOR=#000088]$numbers[/COLOR] [COLOR=#339933]=[/COLOR] [COLOR=#990000]array[/COLOR][COLOR=#009900]([/COLOR][COLOR=#CC66CC]4[/COLOR][COLOR=#339933],[/COLOR][COLOR=#CC66CC]2[/COLOR][COLOR=#339933],[/COLOR][COLOR=#CC66CC]5[/COLOR][COLOR=#339933],[/COLOR][COLOR=#CC66CC]9[/COLOR][COLOR=#339933],[/COLOR][COLOR=#CC66CC]7[/COLOR][COLOR=#339933],[/COLOR][COLOR=#CC66CC]6[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#B1B100]for[/COLOR][COLOR=#009900]([/COLOR][COLOR=#000088]$x[/COLOR][COLOR=#339933]=[/COLOR][COLOR=#CC66CC]1[/COLOR][COLOR=#339933];[/COLOR] [COLOR=#000088]$x[/COLOR][COLOR=#339933]<[/COLOR][COLOR=#CC66CC]6[/COLOR][COLOR=#339933];[/COLOR] [COLOR=#000088]$x[/COLOR][COLOR=#339933]++[/COLOR][COLOR=#009900])[/COLOR][COLOR=#009900]{[/COLOR]
    [COLOR=#B1B100]if[/COLOR] [COLOR=#009900]([/COLOR][COLOR=#000088]$x[/COLOR] [COLOR=#339933]==[/COLOR] [COLOR=#CC66CC]3[/COLOR][COLOR=#009900])[/COLOR][COLOR=#009900]{[/COLOR]
        [COLOR=#B1B100]break[/COLOR][COLOR=#339933];[/COLOR]
    [COLOR=#009900]}[/COLOR]
    [COLOR=#B1B100]echo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"x = "[/COLOR] [COLOR=#339933].[/COLOR] [COLOR=#000088]$x[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
    [COLOR=#B1B100]echo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"<br />"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR]
[B]?>[/B][/FONT]
[/FONT][/COLOR]
در کدهای بالا، تعیین کرده ایم که اگر متغیر x برابر با 3 بود (یعنی در گام سوم حلقه)، آنگاه دستور break اجرا گردد. این دستور باعث می شود که ادامه دستورات حلقه، اجرا نشوند و حلقه، پایان یابد.

[h=4]نتیجه :[/h]Untitled.jpg
مشاهده می کنید که دستور چاپ عبارت در خروجی، برای گام سوم به بعد، اجرا نشده است، زیرا دیگر دستورات حلقه اجرا نشده است و PHP ، از حلقه خارج شده.
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
اشاره گرها (pointers) در PHP

اشاره گرها (pointers) در PHP

با استفاده از اشاره گرها (pointers) در PHP ، می توانیم به عناصر یک آرایه ارجاع بدهیم (اشاره کنیم). این نوع ارجاع (اشاره) به گونه ای است که آزادی عمل زیادی خواهیم داشت. مثلا اگر به یک عنصر از یک آرایه، ارجاع داده ایم (برای عنصر فعلی، کلمه current به کار می رود)، با کلمه next ، می توانیم اعلام کنیم که به عنصر بعد از آن در آرایه ارجاع داده شود. همچنین کلمه reset ، برای ارجاع به اولین عنصر آرایه می باشد (به نحوی، بازگشت به اولین عنصر خواهد بود). برای آشنایی با نحوه استفاده از اشاره گرها (pointers) در PHP ، به مثال زیر توجه کنید :

[h=4]مثال :[/h]
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B] 
[COLOR=#000088]$numbers[/COLOR] [COLOR=#339933]=[/COLOR] [COLOR=#990000]array[/COLOR][COLOR=#009900]([/COLOR][COLOR=#CC66CC]4[/COLOR][COLOR=#339933],[/COLOR][COLOR=#CC66CC]2[/COLOR][COLOR=#339933],[/COLOR][COLOR=#CC66CC]5[/COLOR][COLOR=#339933],[/COLOR][COLOR=#CC66CC]9[/COLOR][COLOR=#339933],[/COLOR][COLOR=#CC66CC]7[/COLOR][COLOR=#339933],[/COLOR][COLOR=#CC66CC]6[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#B1B100]echo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"first : "[/COLOR] [COLOR=#339933].[/COLOR] [COLOR=#990000]current[/COLOR][COLOR=#009900]([/COLOR][COLOR=#000088]$numbers[/COLOR][COLOR=#009900])[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#B1B100]echo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"<br />"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]

[COLOR=#990000]next[/COLOR][COLOR=#009900]([/COLOR][COLOR=#000088]$numbers[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#B1B100]echo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"second : "[/COLOR] [COLOR=#339933].[/COLOR] [COLOR=#990000]current[/COLOR][COLOR=#009900]([/COLOR][COLOR=#000088]$numbers[/COLOR][COLOR=#009900])[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#B1B100]echo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"<br />"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]

[COLOR=#990000]next[/COLOR][COLOR=#009900]([/COLOR][COLOR=#000088]$numbers[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#B1B100]echo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"third : "[/COLOR] [COLOR=#339933].[/COLOR] [COLOR=#990000]current[/COLOR][COLOR=#009900]([/COLOR][COLOR=#000088]$numbers[/COLOR][COLOR=#009900])[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#B1B100]echo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"<br />"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]

[COLOR=#990000]reset[/COLOR][COLOR=#009900]([/COLOR][COLOR=#000088]$numbers[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#B1B100]echo[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"first : "[/COLOR] [COLOR=#339933].[/COLOR] [COLOR=#990000]current[/COLOR][COLOR=#009900]([/COLOR][COLOR=#000088]$numbers[/COLOR][COLOR=#009900])[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[B]?>[/B][/FONT]
[/FONT][/COLOR]
[h=4]نتیجه :Untitled.jpg[/h]
ابتدا یک آرایه با نام numbers تعریف کرده ایم. سپس از دستور current($numbers) استفاده نموده ایم. این دستور اعلام می کند که عنصری مد نظر است که اشاره گر (pointer) بر روی آن است (به آن اشاره می کند). چون قبلا از اشاره گرها استفاده نکرده ایم، بنابراین فعلا اشاره گر بر روی اولین عنصر از آرایه numbers می باشد. پس از چاپ اولین عنصر آرایه، از دستور next($numbers) استفاده کرده ایم که باعث می شود که اشاره گر، بر روی عنصر بعدی آرایه numbers برود، یعنی عنصر دوم آرایه. بنابراین در این زمان، دستور current($numbers) ، عنصر دوم آرایه را برمی گرداند. پس از چاپ عنصر دوم آرایه در خروجی، دوباره از next($numbers) استفاده کرده ایم که باعث می شود اشاره گر بر روی عنصر سوم آرایه برود (به عنصر سوم آرایه اشاره کند). بنابراین در این زمان، دستورcurrent($numbers) ، عنصر سوم آرایه را برمی گرداند. در آخر نیز، از دستور reset($numbers) استفاده کرده ایم که باعث می شود که اشاره گر، به اولین عنصر آرایه باز گردد، بنابراین دستور current($numbers) ، اولین عنصر آرایه را برمی گرداند.
 

P O U R I A

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

ارسال مقدار متغیرها، از یک صفحه به صفحه ای دیگر، با روش GET در PHP

با استفاده از روش GET در PHP ، می توانیم مقدار متغیرها را از یک صفحه به صفحه ای دیگر، ارسال نماییم. مهمترین مشخصه روش GET این است که مقدار و نام متغیری که ارسال می کنیم، در آدرس URL صفحه گیرنده مقدار (URL همان آدرسی است که در بالای مرورگر اینترنت نمایش داده می شود)، نمایش داده می شود. بنابراین، این روش برای ارسال مقدار متغیرهای مهمی مثل پسوردها و اطلاعات شخصی افراد یا سایت، اصلا مناسب نمی باشد. اما در عوض، یک نکته مهم وجود دارد و آن این است که سایت های جستجوگر اینترنت (مثل گوگل)، برایشان مهم است که در آدرس URL ، چه کلماتی به کار رفته است و بنابراین اگر شما با روش GET ، کلمات کلیدی صفحات را در آدرس URL قرار بدهید، شانس نمایس صفحات شما در رتبه های بالاتر نتایج جستجو (در گوگل و سایر سایت ها) بیشتر می شود. البته این نکات را از نظر بهینه سازی سایت (seo) تذکر دادیم، وگرنه هدف اصلی، انتقال مقدار متغیرها از یک صفحه به صفحه ای دیگر است که یکی از باارزش ترین قابلیت های PHP می باشد. در صورت تمایل، می توانید در آموزش های دیگر، روش POST را نیز بررسی کنید که برای ارسال مقادیر متغیرها، به روشی متفاوت، به کار می رود (برای ارسال اطلاعات مهم و سری، از روش POST استفاده می شود).

اکنون قصد داریم که روش GET را به صورت عملی شرح بدهیم. برای این منظور، دو صفحه PHP ، با نام های page1.php و page2.php می سازیم (برای سادگی، هر دو صفحه را درون یک فولدر قرار می دهیم، اگر فولدر آنها فرق داشته باشد، باید هنگام لینک دادن، آدرس را به درستی بنویسیم). از درون صفحه page1.php به صفحه page2.php ، یک لینک می دهیم، اما این لینک، یک لینک معمولی نمی باشد، زیرا کد HTML مربوط به لینک را به صورت زیر می نویسیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#339933]<[/COLOR]a href[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"page2.php?id=5"[/COLOR][COLOR=#339933]>[/COLOR]page [COLOR=#CC66CC]2[/COLOR][COLOR=#339933]</[/COLOR]a[COLOR=#339933]>[/COLOR][/FONT]
[/FONT][/COLOR]
همان طور که مشاهده می کنید، بعد از آدرس صفحه، عبارت زیر نوشته شده است :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]?id[COLOR=#339933]=[/COLOR][COLOR=#CC66CC]5[/COLOR][/FONT]
[/FONT][/COLOR]
ابتدا علامت سوال (?) نوشته شده و سپس نام id ، آنگاه یک علامت تساوی و در آخر نیز مقدار 5 . منظور از این عبارت این است، که با روش GET ، متغیری با نام id و با مقدار برابر 5 به صفحه مورد نظر، ارسال گردد. در واقع روش کلی این است که ابتدا علامت ؟ نوشته می شود و بعد متغیرهایی که می خواهیم با روش GET ، به صفحه مورد نظر، ارسال شوند (اگر بیش از یک متغیر داشته باشیم، باید از علامت & در بین متغیرها، استفاده کنیم، در ادامه، مثالی نیز برای این مورد می زنیم). بنابراین کل کدهای صفحه page1.php را به صورت زیر می نویسیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#339933]<[/COLOR]html[COLOR=#339933]>[/COLOR]
[COLOR=#339933]<[/COLOR]head[COLOR=#339933]>[/COLOR]
[COLOR=#339933]</[/COLOR]head[COLOR=#339933]>[/COLOR]

[COLOR=#339933]<[/COLOR]body[COLOR=#339933]>[/COLOR]

[COLOR=#339933]<[/COLOR]a href[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"page2.php?id=5"[/COLOR][COLOR=#339933]>[/COLOR]page [COLOR=#CC66CC]2[/COLOR][COLOR=#339933]</[/COLOR]a[COLOR=#339933]>[/COLOR]

[COLOR=#339933]</[/COLOR]body[COLOR=#339933]>[/COLOR]
[COLOR=#339933]</[/COLOR]html[COLOR=#339933]>[/COLOR][/FONT]
[/FONT][/COLOR]
اکنون کدهای صفحه page2.php که قرار است متغیر id و مقدار آن را دریافت کند را اینگونه می نویسیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B]
[COLOR=#000088]$A[/COLOR] [COLOR=#339933]=[/COLOR] [COLOR=#000088]$_GET[/COLOR][COLOR=#009900][[/COLOR][COLOR=#0000FF]'id'[/COLOR][COLOR=#009900]][/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#B1B100]echo[/COLOR] [COLOR=#000088]$A[/COLOR][COLOR=#339933];[/COLOR]
[B]?>[/B][/FONT]
[/FONT][/COLOR]
به این بخش از کدها دقت کنید :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#000088]$_GET[/COLOR][COLOR=#009900][[/COLOR][COLOR=#0000FF]'id'[/COLOR][COLOR=#009900]][/COLOR][COLOR=#339933];[/COLOR][/FONT]
[/FONT][/COLOR]
متغیر $_GET ، یک متغیر فوق سراسری (superglobal) است که در آن، تمامی متغیرهای دریافت شده توسط روش GET ، قرار دارد (به صورت آرایه ای از عناصر). بنابراین ما متغیر id را از آرایه $_GET فراخوانی کرده ایم.

نتیجه :

بر روی لینک کلیک کنید تا به صفحه page2.php منتقل شوید :
Untitled.jpgUntitled.jpg


پس از کلیک بر روی لینک، به صفحه page2.php منتقل می شویم و این صفحه، مقدار 5 را نمایش می دهد.


ارسال دو یا چند متغیر، با روش GET در PHP :

شیوه ارسال دو یا چند متغیر، با روش GET در PHP ، دقیقا همانند ارسال یک متغیر است و تنها باید در بین متغیرها، از علامت & استفاده کنیم. به مثال زیر توجه کنید :

مثال :

همان مثال قبل را این بار با دو متغیر می نویسیم (افزودن متغیر name). کدهای صفحه page1.php را به صورت زیر می نویسیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#339933]<[/COLOR]html[COLOR=#339933]>[/COLOR]
[COLOR=#339933]<[/COLOR]head[COLOR=#339933]>[/COLOR]
[COLOR=#339933]</[/COLOR]head[COLOR=#339933]>[/COLOR]

[COLOR=#339933]<[/COLOR]body[COLOR=#339933]>[/COLOR]

[COLOR=#339933]<[/COLOR]a href[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"page2.php?id=5&name=ali"[/COLOR][COLOR=#339933]>[/COLOR]page [COLOR=#CC66CC]2[/COLOR][COLOR=#339933]</[/COLOR]a[COLOR=#339933]>[/COLOR]

[COLOR=#339933]</[/COLOR]body[COLOR=#339933]>[/COLOR]
[COLOR=#339933]</[/COLOR]html[COLOR=#339933]>[/COLOR][/FONT]
[/FONT][/COLOR]
کدهای صفحه page2.php را به صورت زیر می نویسیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B]
[COLOR=#000088]$A[/COLOR] [COLOR=#339933]=[/COLOR] [COLOR=#000088]$_GET[/COLOR][COLOR=#009900][[/COLOR][COLOR=#0000FF]'id'[/COLOR][COLOR=#009900]][/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#B1B100]echo[/COLOR] [COLOR=#000088]$A[/COLOR][COLOR=#339933];[/COLOR]

[COLOR=#B1B100]echo[/COLOR] [COLOR=#0000FF]"<br />"[/COLOR][COLOR=#339933];[/COLOR]

[COLOR=#000088]$B[/COLOR] [COLOR=#339933]=[/COLOR] [COLOR=#000088]$_GET[/COLOR][COLOR=#009900][[/COLOR][COLOR=#0000FF]'name'[/COLOR][COLOR=#009900]][/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#B1B100]echo[/COLOR] [COLOR=#000088]$B[/COLOR][COLOR=#339933];[/COLOR]
[B]?>[/B][/FONT]
[/FONT][/COLOR]
نتیجه :

بر روی لینک کلیک کنید تا به صفحه page2.php منتقل شوید :
Untitled.jpg

Untitled.jpg
نمایش تمامی متغیرهای دریافت شده به روش GET ، در PHP :

چنانچه قصد داشته باشیم که در یک صفحه PHP ، تمامی متغیرهای دریافت شده به روش GET را مشاهده کنیم، می توانیم از دستور زیر استفاده نماییم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#990000]print_r[/COLOR][COLOR=#009900]([/COLOR][COLOR=#000088]$_GET[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR][/FONT]
[/FONT][/COLOR]
در واقع، این دستور، مقادیر ذخیره شده در متغیر فوق سراسری $_GET را نمایش می دهد.
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
نحوه ارسال متغیرها با روش GET ، در صورت وجود کاراکترهای غیر مجاز برای URL صفحه، با تابع urlencode در PHP

نحوه ارسال متغیرها با روش GET ، در صورت وجود کاراکترهای غیر مجاز برای URL صفحه، با تابع urlencode در PHP

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

مثلا فرض کنید که بخواهیم به صفحه ای با نام page.php ، متغیر با نام name و مقدار ali را ارسال کنیم، بنابراین باید به آن صفحه، به صورت زیر لینک بدهیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#339933]<[/COLOR]a href[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"page.php?name=ali"[/COLOR][COLOR=#339933]>[/COLOR]page[COLOR=#339933]</[/COLOR]a[COLOR=#339933]>[/COLOR][/FONT]
[/FONT][/COLOR]
خوب اکنون فرض کنید که به جای ali ، قصد داشته باشیم مقدار زیر را برای متغیر name تعیین کنیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]ali reza[/FONT]
[/FONT][/COLOR]
پس در نگاه اول، به نظر می آید که باید کد زیر را بنویسیم (اما غلط است) :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#339933]<[/COLOR]a href[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"page.php?name=ali reza"[/COLOR][COLOR=#339933]>[/COLOR]page[COLOR=#339933]</[/COLOR]a[COLOR=#339933]>[/COLOR][/FONT]
[/FONT][/COLOR]
کد بالا غلط است، زیرا باعث می شود که در بین کاراکترهای آدرس URL ، یک فضای خالی داشته باشیم که غیرمجاز است. این یک مثال است و علامت هایی مثل & و = نیز اگر در مقدار متغیر وجود داشته باشند، باعث به وجود آمدن یک اشتباه در روند ارسال متغیرها خواهند شد (زیرا این دو علامت را برای روش GET به کار می بریم).

راه حل این مشکل، استفاده از تابع urlencode در PHP می باشد. این تابع، با کد کردن کاراکترها، عملا باعث می شود که کاراکترهای غیرمجاز، در آدرس URL صفحه، ظاهر نشوند. حتما تاکنون، علامت های % به کار رفته در آدرس URL برخی سایت ها را دیده اید. این علامت، توسط همین تابع ایجاد می شود و بخشی از کدهای حاصل از این تابع است.

شیوه استفاده از تابع urlencode به صورت زیر می باشد (برای همان موردی که مثال زدیم) :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]<a href="page.php?name=[B]<?php[/B] [COLOR=#B1B100]echo[/COLOR] [COLOR=#990000]urlencode[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"ali reza"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR] [B]?>[/B]">page</a>[/FONT]
[/FONT][/COLOR]
بنابراین پس از کلیک بر روی لینک، در انتهای آدرس URL صفحه مقصد، عبارت زیر نمایش داده می شود (در برخی مرورگر ها، باید در قسمت نمایش آدرس، کلیک کنید تا آدرس به طور کامل نمایش داده شود) :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#339933]/[/COLOR]page[COLOR=#339933].[/COLOR]php?name[COLOR=#339933]=[/COLOR]ali[COLOR=#339933]+[/COLOR]reza[/FONT]
[/FONT][/COLOR]
مشاهده می کنید که تابع urlencode ، کاراکتر فاصله را به کاراکتر + تبدیل کرده است.

[h=4]نکته :[/h]نکته مهمی که باید به آن توجه داشت، این است که دیگر نیازی نیست که در صفحه مقصد، از تابع urlencode استفاده کنیم و خود PHP ، به طور خودکار، کاراکترها را در آن صفحه، تبدیل به همان کاراکترهای اصلی می کند که مد نظر ما بوده است.

[h=4]مثال :[/h]فرض کنید این بار بخواهیم مقدار ali&reza را به عنوان مقدار متغیر ارسال کنیم، بنابراین باید لینک را به صورت زیر تعریف کنیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]<a href="page.php?name=[B]<?php[/B] [COLOR=#B1B100]echo[/COLOR] [COLOR=#990000]urlencode[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"ali&reza"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR] [B]?>[/B]">page</a>[/FONT]
[/FONT][/COLOR]
بنابراین پس از کلیک بر روی لینک، در انتهای آدرس URL صفحه مقصد، عبارت زیر نمایش داده می شود (در برخی مرورگر ها، باید در قسمت نمایش آدرس، کلیک کنید تا آدرس به طور کامل نمایش داده شود) :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#339933]/[/COLOR]page[COLOR=#339933].[/COLOR]php?name[COLOR=#339933]=[/COLOR]ali[COLOR=#339933]%[/COLOR]26reza[/FONT]
[/FONT][/COLOR]
مشاهده می کنید که تابع urlencode ، کاراکتر & را به کاراکترهای %26 تبدیل کرده است.

[h=4]نکته :[/h]تابع rawurlencode نیز همانند تابع urlencode در PHP ، برای کد کردن آدرس صفحات URL به کار می رود. به مثال زیر توجه کنید :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B]
[COLOR=#000088]$string[/COLOR] [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]"ali & reza"[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#B1B100]echo[/COLOR] [COLOR=#990000]urlencode[/COLOR][COLOR=#009900]([/COLOR][COLOR=#000088]$string[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#B1B100]echo[/COLOR] [COLOR=#0000FF]"<br />"[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#B1B100]echo[/COLOR] [COLOR=#990000]rawurlencode[/COLOR][COLOR=#009900]([/COLOR][COLOR=#000088]$string[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[B]?>[/B][/FONT]
[/FONT][/COLOR]
[h=4]نتیجه :Untitled.jpg[/h]
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
جلسه ها (session) ، در PHP

جلسه ها (session) ، در PHP

با استفاده از جلسه ها (session) در PHP ، می توانیم یک سری اطلاعات را به صورت قابل دسترس در صفحات دلخواه PHP در بیاوریم. یعنی شما مثلا یک متغیر و یک مقدار را با استفاده از جلسه ها (session) در یک صفحه PHP ، تعریف می کنید، آنگاه آن متغیر و مقدار آن، می تواند در تمامی صفحات دیگر که بخواهیم، مورد استفاده قرار بگیرد. ما قبلا روش های ارسال اطلاعاتی مثل روش POST ، روش GET و استفاده از کوکی ها (cookie) ها را توضیح دادیم، بد نیست که شرح بدهیم که جلسه ها، چه قابلیت هایی فراتر از آن روش ها دارند. در دو روش GET و POST ، تفاوت کاملا آشکار است. ما در این دو روش، باید صفحه مقصد که اطلاعات را دریافت می کند را مشخص کنیم، اما در مورد جلسه ها (session)، نیازی به تعیین صفحه دریافت کننده اطلاعات نیست و هر صفحه ای که بخواهیم را می توانیم به طور مناسب برای دریافت اطلاعات جلسه ها (session)، طراحی کنیم. اما تفاوت جلسه ها (session) با کوکی ها (cookie)، مهم است. همان طور که می دانید، با کوکی ها می توانیم یک سری اطلاعات را در کامپیوتر کاربر ذخیره کنیم تا توسط صفحات مختلف سایت، مورد استفاده قرار گیرد، اما کوکی ها یک مشکل بزرگ دارند و آن این است که کاربر می تواند آنها را در مرورگر اینترنت خود بیابد و حتی با روش هایی، آنها را تغییر بدهد. حتی امکان دارد که کامپیوتر کاربر، به دست شخص دیگری بیفتد و اطلاعاتی که نباید دیگران ببینند، در دسترس آن شخص قرار بگیرد. بنابراین ذخیره کردن اطلاعات مهم کاربر و سایت، در کوکی ها، اصلا امن نیست. راه حل این مشکل، استفاده از جلسه ها (session) می باشد که روشی امن تر برای ذخیره اطلاعات، برای دستیابی صفحات مختلف سایت به آن اطلاعات، می باشد.

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

برای استفاده از جلسه ها (برای ساخت مقادیر جدید یا استفاده از مقدارهایی که قبلا ذخیره کرده ایم)، باید ابتدا تابع session_start را در فایل PHP بنویسیم. نکته بسیار مهمی که در این زمینه وجود دارد، این است که کد مربوط به تابع session_start را باید حتما در ابتدایی ترین خط ها از کدهای صفحه PHP بنویسیم. مثلا می توانید، در ابتدای فایل PHP ، کدهای زیر را بنویسید و سپس کدهای HTML و PHP صفحه را پس از آن قرار دهید :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B]
[COLOR=#990000]session_start[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[B]?>[/B][/FONT]
[/FONT][/COLOR]
اکنون با یک مثال شرح می دهیم که چگونه می توان یک متغیر و مقدار مربوط به آن را در یک جلسه (session) ذخیره کرده و سپس توسط یک صفحه دیگر، آن متغیر و مقدارش را بخوانیم. کدهای صفحه اول را به صورت زیر می نویسیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B]
[COLOR=#990000]session_start[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]

[COLOR=#000088]$_SESSION[/COLOR][COLOR=#009900][[/COLOR][COLOR=#0000FF]'my_session'[/COLOR][COLOR=#009900]][/COLOR] [COLOR=#339933]=[/COLOR] [COLOR=#0000FF]"ali"[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#B1B100]echo[/COLOR] [COLOR=#000088]$_SESSION[/COLOR][COLOR=#009900][[/COLOR][COLOR=#0000FF]'my_session'[/COLOR][COLOR=#009900]][/COLOR][COLOR=#339933];[/COLOR]
[B]?>[/B][/FONT]
[/FONT][/COLOR]
صفحه بالا را اجرا می کنیم (اجرای صفحه در مرورگر اینترنت). با اجرای این صفحه، متغیر مورد نظر، در متغیر فوق سراسری (superglobal) با نام $_SESSION قرار می گیرد و بنابراین از سایر صفحات، می توانیم به آن دسترسی داشته باشیم.

صفحه فوق را در مرورگر می بندیم، سپس صفحه ای دیگر که دارای کدهای زیر است را اجرا می کنیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B]
[COLOR=#990000]session_start[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]

[COLOR=#B1B100]echo[/COLOR] [COLOR=#000088]$_SESSION[/COLOR][COLOR=#009900][[/COLOR][COLOR=#0000FF]'my_session'[/COLOR][COLOR=#009900]][/COLOR][COLOR=#339933];[/COLOR]
[B]?>[/B][/FONT]
[/FONT][/COLOR]
با اجرای صفحه فوق، خروجی به صورت زیر است :

[h=4]نتیجه :[/h]
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]ali[/FONT]
[/FONT][/COLOR]
بنابراین توانستیم توسط جلسه ها (session) در PHP ، مقدار مربوط به یک متغیر را به گونه ای ذخیره کنیم که در صفحات مختلف، در دسترس باشد.
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
اجرای کدهای قرار گرفته در یک فایل دیگر، با دستور include در PHP

اجرای کدهای قرار گرفته در یک فایل دیگر، با دستور include در PHP

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

دقت کنید که نیازی نیست که حتما فایل مورد نظر، شامل فقط کدهای PHP باشد، بلکه مثلا اگر فایل، تنها شامل کدهای HTML باشد هم باز هیچ مشکلی پیش نمی آید.

برای درک چگونگی استفاده از دستور include ، به مثال زیر توجه کنید :

[h=4]مثال :[/h]یک فایل با نام code.php می سازیم که حاوی کدهای زیر باشد :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B]
[COLOR=#B1B100]echo[/COLOR] [COLOR=#0000FF]"www.www.www.iran-eng.ir"[/COLOR][COLOR=#339933];[/COLOR]
[B]?>[/B][/FONT]
[/FONT][/COLOR]
سپس در فایلی دیگر کدهای زیر را می نویسیم که در آن به فایل code.php ، توسط دستور include ، ارجاع داده ایم تا کدهای آن دریافت شده و اجرا گردد و نتیجه در صفحه فعلی نمایش داده شود :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B]
[COLOR=#B1B100]echo[/COLOR] [COLOR=#0000FF]"from code.php file :"[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#B1B100]echo[/COLOR] [COLOR=#0000FF]"<br />"[/COLOR][COLOR=#339933];[/COLOR]

[COLOR=#B1B100]include[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"code.php"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[B]?>[/B][/FONT]
[/FONT][/COLOR]
[h=4]نتیجه :[/h]اگر صفحه دوم را اجرا کنیم، نتیجه زیر نمایش داده می شود :Untitled.jpg
 

P O U R I A

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

اجرا شدن کدها، تنها در برخی از صفحات خاص سایت، با PHP

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

اولین نکته این است که ما با تعریف یک متغیر، در صفحات خاصی که مد نظرمان است، یک اختلاف بین آنها و دیگر صفحات سایت، ایجاد می کنیم (برای تشخیص توسط کدهای بعدی که به کار می بریم). یعنی درون صفحات خاص مورد نظرمان، کد زیر را می نویسیم (در بخشی از آن صفحات که تنها مختص خودشان می باشد) :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B]
[COLOR=#000088]$myPage[/COLOR] [COLOR=#339933]=[/COLOR] [COLOR=#CC66CC]1[/COLOR][COLOR=#339933];[/COLOR]
[B]?>[/B][/FONT]
[/FONT][/COLOR]
همان طور که مشاهده می کنید، یک متغیر با نام myPage تعریف کرده ایم (مقدار آن اهمیتی ندارد).

اکنون در قالب کلی سایت باید کد زیر را بنویسیم (نکته مهم این است که هنگام اجرای آن صفحات خاص، محل قرارگیری این کد، باید حتما بعد از کد مربوط به تعریف متغیر myPage باشد) :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B]
[COLOR=#B1B100]if[/COLOR][COLOR=#009900]([/COLOR][COLOR=#990000]isset[/COLOR][COLOR=#009900]([/COLOR][COLOR=#000088]$myPage[/COLOR][COLOR=#009900])[/COLOR][COLOR=#009900])[/COLOR][COLOR=#009900]{[/COLOR]
    [COLOR=#666666][I]// code 1[/I][/COLOR]
[COLOR=#009900]}[/COLOR][COLOR=#B1B100]else[/COLOR][COLOR=#009900]{[/COLOR]
    [COLOR=#666666][I]// code 2[/I][/COLOR]
[COLOR=#009900]}[/COLOR]
[B]?>[/B][/FONT]
[/FONT][/COLOR]
تابع isset برای این است که چک کنیم که آیا متغیر myPage قبلا تعریف شده است یا خیر. سپس بر اساس این تشخیص، دو حالت وجود دارد (دو سری کد). ما در قسمت کدهای این دو حالت، عبارت هایی را به صورت توضیح نوشته ایم که شما می توانید به جای آنها، کدهای مورد نظر خود را بنویسید. یعنی به جای عبارت زیر :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#666666][I]// code 1[/I][/COLOR][/FONT]
[/FONT][/COLOR]
کدهایی را بنویسید که می خواهید برای آن صفحات خاص اجرا شود و به جای عبارت زیر :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#666666][I]// code 2[/I][/COLOR][/FONT]
[/FONT][/COLOR]
کدهایی را بنویسید که قصد دارید برای سایر صفحات سایت، اجرا گردد.
 

P O U R I A

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

رفتن به صفحه جدید، با دستور header در PHP

با استفاده از دستور header در PHP ، می توانیم کاربر را به یک صفحه جدید منتقل کنیم (مرورگر کاربر، یک صفحه جدید را باز می کند).

فرض کنید که بخواهیم کاربر را به صفحه زیر منتقل کنیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]http[COLOR=#339933]:[/COLOR][COLOR=#666666][I]//www.www.www.iran-eng.ir/index.php[/I][/COLOR][/FONT]
[/FONT][/COLOR]
بنابراین کد PHP زیر را می نویسیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B]
[COLOR=#990000]header[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]'Location: http://www.www.www.iran-eng.ir/index.php'[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[B]?>[/B][/FONT]
[/FONT][/COLOR]
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
توقف کامل اجرای ادامه کدها، با تابع die در PHP

توقف کامل اجرای ادامه کدها، با تابع die در PHP

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

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

[h=4]مثال :[/h]
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B]
[COLOR=#000088]$A[/COLOR][COLOR=#339933]=[/COLOR][COLOR=#CC66CC]5[/COLOR][COLOR=#339933];[/COLOR]

[COLOR=#B1B100]if[/COLOR][COLOR=#009900]([/COLOR][COLOR=#000088]$A[/COLOR][COLOR=#339933]<[/COLOR][COLOR=#CC66CC]10[/COLOR][COLOR=#009900])[/COLOR][COLOR=#009900]{[/COLOR]
    [COLOR=#990000]die[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]"stop !"[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#009900]}[/COLOR]

[COLOR=#B1B100]echo[/COLOR] [COLOR=#000088]$A[/COLOR][COLOR=#339933];[/COLOR]
[B]?>[/B][/FONT]
[/FONT][/COLOR]
[h=4]نتیجه :[/h]Untitled.jpg
بنابراین مشاهده می کنید که تابع echo اجرا نشده است، زیرا اجرای تابع die باعث می شود که ادامه کدها، اجرا نگردد.
 

P O U R I A

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

نمایش صفحه ای از سایتی دیگر، درون سایت خود، با کدهای PHP

فرض کنید که صفحه ای به آدرس زیر داریم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]http://www.www.www.iran-eng.ir/index.php[/FONT]
[/FONT][/COLOR]
و قصد داریم که صفحه، یک آدرس اینترنتی (آدرس URL) را به روش GET دریافت نموده و آنگاه، آن صفحه اینترنتی را به کاربر نمایش بدهد، اما آدرس بالای مرورگر، همین عبارت باشد (یعنی از انتقال به آدرس URL اجتناب کند) :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]http://www.www.www.iran-eng.ir/index.php?link=http://yjc.ir[/FONT]
[/FONT][/COLOR]
برای این منظور، کدهای صفحه را به صورت زیر می نویسیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B]
[COLOR=#B1B100]if[/COLOR][COLOR=#009900]([/COLOR][COLOR=#990000]isset[/COLOR][COLOR=#009900]([/COLOR][COLOR=#000088]$_GET[/COLOR][COLOR=#009900][[/COLOR][COLOR=#0000FF]'link'[/COLOR][COLOR=#009900]][/COLOR][COLOR=#009900])[/COLOR][COLOR=#009900])[/COLOR][COLOR=#009900]{[/COLOR]
    [COLOR=#000088]$link[/COLOR][COLOR=#339933]=[/COLOR][COLOR=#000088]$_GET[/COLOR][COLOR=#009900][[/COLOR][COLOR=#0000FF]'link'[/COLOR][COLOR=#009900]][/COLOR][COLOR=#339933];[/COLOR]
    [B]?>[/B]
    
    <object data="[B]<?php[/B] [COLOR=#B1B100]echo[/COLOR] [COLOR=#000088]$link[/COLOR][COLOR=#339933];[/COLOR] [B]?>[/B]" width="100%" height="100%" type="text/html">
    </object>
    
    [B]<?php[/B]
[COLOR=#009900]}[/COLOR]
[B]?>[/B][/FONT]
[/FONT][/COLOR]
همان طور که مشاهده می کنید، ابتدا با تابع isset چک کرده ایم که آیا متغیری با نام link ، از طریق روش GET ، ارسال شده است یا نه (چک کردن وجود آن در متغیر فوق سراسری $_GET). سپس اگر مقدار متغیر، ارسال شده است، آن را دریافت کرده و در متغیری با نام link ذخیره می کنیم. عنصر object در HTML ، برای نمایش یک صفحه اینترنتی، درون صفحه فعلی، به کار می رود، بنابراین آدرس URL دریافت شده را به عنوان مشخصه data برای عنصر object ، ذکر کرده ایم.
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
نمایش رتبه الکسا (Alexa Rank) و رتبه الکسا در کشور (Country Rank)، برای یک سایت، با کدهای PHP

نمایش رتبه الکسا (Alexa Rank) و رتبه الکسا در کشور (Country Rank)، برای یک سایت، با کدهای PHP

با استفاده از کدهای زیر می توانیم رتبه الکسا (Alexa Rank) و رتبه الکسا در کشور (Country Rank)، برای یک سایت را نمایش بدهیم (این رتبه ها توسط سایت alexa.com ارائه می شوند) :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B]
[COLOR=#000088]$url[/COLOR][COLOR=#339933]=[/COLOR][COLOR=#0000FF]'www.www.iran-eng.ir'[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#000088]$xml[/COLOR] [COLOR=#339933]=[/COLOR] [COLOR=#990000]simplexml_load_file[/COLOR][COLOR=#009900]([/COLOR][COLOR=#0000FF]'http://data.alexa.com/data?cli=10&dat=snbamz&url='[/COLOR][COLOR=#339933].[/COLOR][COLOR=#000088]$url[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#000088]$rank[/COLOR][COLOR=#339933]=[/COLOR][COLOR=#990000]isset[/COLOR][COLOR=#009900]([/COLOR][COLOR=#000088]$xml[/COLOR][COLOR=#339933]->[/COLOR][COLOR=#004000]SD[/COLOR][COLOR=#009900][[/COLOR][COLOR=#CC66CC]1[/COLOR][COLOR=#009900]][/COLOR][COLOR=#339933]->[/COLOR][COLOR=#004000]POPULARITY[/COLOR][COLOR=#009900])[/COLOR]?[COLOR=#000088]$xml[/COLOR][COLOR=#339933]->[/COLOR][COLOR=#004000]SD[/COLOR][COLOR=#009900][[/COLOR][COLOR=#CC66CC]1[/COLOR][COLOR=#009900]][/COLOR][COLOR=#339933]->[/COLOR][COLOR=#004000]POPULARITY[/COLOR][COLOR=#339933]->[/COLOR][COLOR=#004000]attributes[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933]->[/COLOR][COLOR=#004000]TEXT[/COLOR][COLOR=#339933]:[/COLOR][COLOR=#CC66CC]0[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#000088]$country_rank[/COLOR][COLOR=#339933]=[/COLOR][COLOR=#990000]isset[/COLOR][COLOR=#009900]([/COLOR][COLOR=#000088]$xml[/COLOR][COLOR=#339933]->[/COLOR][COLOR=#004000]SD[/COLOR][COLOR=#009900][[/COLOR][COLOR=#CC66CC]1[/COLOR][COLOR=#009900]][/COLOR][COLOR=#339933]->[/COLOR][COLOR=#004000]COUNTRY[/COLOR][COLOR=#009900])[/COLOR]?[COLOR=#000088]$xml[/COLOR][COLOR=#339933]->[/COLOR][COLOR=#004000]SD[/COLOR][COLOR=#009900][[/COLOR][COLOR=#CC66CC]1[/COLOR][COLOR=#009900]][/COLOR][COLOR=#339933]->[/COLOR][COLOR=#004000]COUNTRY[/COLOR][COLOR=#339933]->[/COLOR][COLOR=#004000]attributes[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933]->[/COLOR][COLOR=#004000]RANK[/COLOR][COLOR=#339933]:[/COLOR][COLOR=#CC66CC]0[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#000088]$web[/COLOR][COLOR=#339933]=[/COLOR][COLOR=#009900]([/COLOR]string[COLOR=#009900])[/COLOR][COLOR=#000088]$xml[/COLOR][COLOR=#339933]->[/COLOR][COLOR=#004000]SD[/COLOR][COLOR=#009900][[/COLOR][COLOR=#CC66CC]0[/COLOR][COLOR=#009900]][/COLOR][COLOR=#339933]->[/COLOR][COLOR=#004000]attributes[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933]->[/COLOR][COLOR=#004000]HOST[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#B1B100]echo[/COLOR] [COLOR=#000088]$web[/COLOR][COLOR=#339933].[/COLOR][COLOR=#0000FF]" has Alexa Rank <span style=[COLOR=#000099][B]\"[/B][/COLOR]color:#F00[COLOR=#000099][B]\"[/B][/COLOR]>"[/COLOR][COLOR=#339933].[/COLOR][COLOR=#000088]$rank[/COLOR][COLOR=#339933].[/COLOR][COLOR=#0000FF]"</span> and Country Rank <span style=[COLOR=#000099][B]\"[/B][/COLOR]color:#F00[COLOR=#000099][B]\"[/B][/COLOR]>"[/COLOR][COLOR=#339933].[/COLOR][COLOR=#000088]$country_rank[/COLOR][COLOR=#339933].[/COLOR][COLOR=#0000FF]"</span>.[COLOR=#000099][B]\n[/B][/COLOR]"[/COLOR][COLOR=#339933];[/COLOR]
[B]?>[/B][/FONT]
[/FONT][/COLOR]
در کدهای بالا، باید به جای آدرس www.www.iran-eng.ir ، آدرس سایت مورد نظر خود را بنویسید.

[h=4]نتیجه :[/h]نتیجه اجرای کد بالا (کمی صبر کنید، زیرا اتصال به سرور سایت alexa.com ممکن است زمان بر باشد) :
Untitled.jpg
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
پاک کردن حافظه cache ناشی از برخی تابع های PHP ، با تابع clearstatcache در PHP

پاک کردن حافظه cache ناشی از برخی تابع های PHP ، با تابع clearstatcache در PHP

هنگامی که از برخی از توابع PHP استفاده می کنیم، این توابع برای اجرای سریعتر کدها، مقداری از اطلاعات را در حافظه cache ذخیره می کنند. تعدادی از این توابع، عبارتند از :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#990000]stat[/COLOR]
[COLOR=#990000]lstat[/COLOR]
[COLOR=#990000]file_exists[/COLOR]
[COLOR=#990000]is_writable[/COLOR]
[COLOR=#990000]is_readable[/COLOR]
[COLOR=#990000]is_executable[/COLOR]
[COLOR=#990000]is_file[/COLOR]
[COLOR=#990000]is_dir[/COLOR]
[COLOR=#990000]is_link[/COLOR]
[COLOR=#990000]filectime[/COLOR]
[COLOR=#990000]fileatime[/COLOR]
[COLOR=#990000]filemtime[/COLOR]
[COLOR=#990000]fileinode[/COLOR]
[COLOR=#990000]filegroup[/COLOR]
[COLOR=#990000]fileowner[/COLOR]
[COLOR=#990000]filesize[/COLOR]
[COLOR=#990000]filetype[/COLOR]
[COLOR=#990000]fileperms[/COLOR][/FONT]
[/FONT][/COLOR]
اما ممکن است که بخواهیم حافظه cache ای که توسط اطلاعات این توابع اشغال شده است را پاک کنیم. برای این منظور، باید تابع clearstatcache را اجرا کنیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B]
[COLOR=#990000]clearstatcache[/COLOR][COLOR=#009900]([/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[B]?>[/B][/FONT]
[/FONT][/COLOR]
 

P O U R I A

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

توقف موقتی اجرای ادامه کدهای صفحه، به مدت چند ثانیه، با تابع sleep در PHP

با استفاده از تابع sleep در PHP ، می توانیم تعیین کنیم که ادامه اجرای کدهای صفحه، به مدت چند ثانیه، متوقف شود و پس از پاین مدت زمانی که تعیین کرده ایم، دوباره ادامه کدهای صفحه اجرا شوند.

فرض کنید بخواهیم مثلا به مدت 10 ثانیه، روند اجرای کدهای صفحه متوقف شود، برای این منظور، کدهای PHP زیر را می نویسیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][B]<?php[/B]
[COLOR=#990000]sleep[/COLOR][COLOR=#009900]([/COLOR][COLOR=#CC66CC]10[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[B]?>[/B][/FONT]
[/FONT][/COLOR]
 

Similar threads

بالا