PDA

View Full Version : سوال: $_server چی کار می کنه؟



ab.ali
شنبه 24 خرداد 1393, 18:06 عصر
با سلام ، یک سوال داشتم، $_server دقیقا چی کار مکنه و چطور می شه ازش استفاده کرد؟

cpuram
شنبه 24 خرداد 1393, 19:38 عصر
یه سری اطلاعات از کلایت و یه سری هم از سرور بهت میده. بهترین راه اینه این دستور رو اجرا کنی خودت ببینی.


<?php echo '<pre>'.print_r($_SERVER,true).'</pre>'.PHP_EOL; ?>

ab.ali
شنبه 24 خرداد 1393, 20:23 عصر
ممنون از شما ، دو سوال دیگه، php_eol چیه؟
راستی از این طریق می شه IP کاربر رو به دست آورد؟
ممنون

MRmoon
شنبه 24 خرداد 1393, 20:49 عصر
PHP_EOL بسته به نوع سرور(لینوکس ویندوز مک) \n یا مثلا \n\r رو بهت برمیگردونه که اگه سورس رو نگاه کنی میبینی که تو سرورس مثل br عمل می کنه.

بله میش هبه دست آورد:


echo $_SERVER['REMOTE_ADDR']

cpuram
شنبه 24 خرداد 1393, 21:21 عصر
دوستمون بالا یکی از موارد استفاده رو گفتن اینم کاملترش
http://ir2.php.net/manual/en/reserved.variables.server.php

ab.ali
شنبه 24 خرداد 1393, 23:06 عصر
ممنون از همه ، ببخشید یک سوال دیگه، /n و /n/r/ چیه؟
ممنون

Tarragon
شنبه 24 خرداد 1393, 23:29 عصر
کار [enter] رو می کنه.
همونطوری که enter توی کد html کار نمی کنه و خروجی نداره این اتفاق توی php هم می افته اما اگر با PHP_EOL بزارید یک enter توی Source قابل مشاهده هست.

ab.ali
یک شنبه 25 خرداد 1393, 10:35 صبح
بازم ممنون ، ببخشید یک سوال دیگه ، چرا نیاز هست که ما enter در php بزنیم ، خود php که این کار رو می کنه!
ممنون

MMSHFE
یک شنبه 25 خرداد 1393, 11:11 صبح
این دو دستور و خروجی که تولید میکنن رو ببینید:

echo '<p>First Line</p>';
echo '<p>Second Line</p>';
چیزی که کاربر میبینه:

First Line
Second Line
سورس خروجی HTML تولید شده:

<p>FirstLine</p><p>SecondLine</p>
حالا این دو دستور رو ببینید:

echo '<p>First Line</p>' . PHP_EOL;
echo '<p>Second Line</p>' . PHP_EOL;
خروجی که کاربر میبینه (مثل قبلیه) :

First Line
Second Line
اما سورس این یکی:

<p>First Line</p>
<p>Second Line</p>

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

cpuram
یک شنبه 25 خرداد 1393, 11:57 صبح
اگه html رو آماده کنیم و فقط کد php بینش بنویسیم بهتره یا همین طور html رو هم اکو کنیم؟

ab.ali
یک شنبه 25 خرداد 1393, 12:33 عصر
این دو دستور و خروجی که تولید میکنن رو ببینید:

echo '<p>First Line</p>';
echo '<p>Second Line</p>';
چیزی که کاربر میبینه:

First Line
Second Line
سورس خروجی HTML تولید شده:

<p>FirstLine</p><p>SecondLine</p>
حالا این دو دستور رو ببینید:

echo '<p>First Line</p>' . PHP_EOL;
echo '<p>Second Line</p>' . PHP_EOL;
خروجی که کاربر میبینه (مثل قبلیه) :

First Line
Second Line
اما سورس این یکی:

<p>First Line</p>
<p>Second Line</p>

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

ممنون استاد! کاملا متوجه شدم! از بقثه دوستان هم ممنونم!:لبخندساده:

MMSHFE
یک شنبه 25 خرداد 1393, 12:52 عصر
اگه html رو آماده کنیم و فقط کد php بینش بنویسیم بهتره یا همین طور html رو هم اکو کنیم؟

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