استفاده از تابع تبدیل تاریخ شمسی به میلادی و برعکس

استفاده از تابع تبدیل تاریخ شمسی به میلادی و برعکس

مطلب از http://amoozeshrooz.blogfa.com/post-1181.aspx

استفاده از تابع تبدیل تاریخ شمسی به میلادی و بالعکس در PHP

برای دریافت توابع کافیست که کد توابع را از این آدرس دریافت کنید :

http://www.iranphp.net/modules/sections/index.php?op=viewarticle&artid=19

بوسیله یک Copy و Paste متن این توابع را درون یک فایل جدید بنام به عنوان مثال
jalali.php ذخیره کنید .

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

require_once "jahangir.php\";?>

با این کار دو تابع با نامهای gregorian_to_jahangir و jahangir_to_gregorian در اختیار
شما قرار می گیرند که به ترتیب برای تبدیل تاریخ میلادی به شمسی و شمسی به میلادی
مورد استفاده قرار می گیرند .

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

1- تبدیل تاریخ میلادی به شمسی

برای این کار باید از تابع gregorian_to_jalali استفاده کنید . این تابع 3 متغیر
را از ورودی دریافت می کند که به ترتیب سال، ماه و روز می باشد که همگی از نوع
عددی می باشند .

برای مثال اگر بخواهیم تاریخ 2002-11-25 را که درون یک متغیر داریم به شمسی تبدیل
کنیم و سپس آنرا درون یک متغیر قرار دهیم ابتدا باید عناصر تاریخ میلادی رو جدا
کنیم . برای این کار می توانیم در دستور زیر استفاده کنیم :

='2002-11-25';
list( $gyear, $gmonth, $gday ) = preg_split ( '/-/', $gdate );
?>

در اینجا از دستور preg_spilit برای جدا کردن عناصر تاریخ $gdate توسط جداکننده
– استفاده کرده ایم . همانطور که می بینید syntax این دستور به این صورت است که
2 متغیر به عنوان ورودی دریافت می کند . اولی به عنوان delimiter می باشد که چون
می توان به صورت regex نیز آنرا وارد کرد باید بین دو slash (/) قرار گیرد و متغیر
دوم هم که همان متغییری است که تاریخ میلادی ما در آن قرار دارد .

 

چون خروجی این دستور یک آرایه است از دستور list استفاده کرده ایم تا عناصر آرایه
را هر کدام در یک متغیر قرار دهیم . هم اکنون روز، ماه و سال میلادی را هر کدام
در یک متغیر داریم . حال می توانیم از تابع gregorian_to_jalali استفاده کنیم :


list( $jyear, $jmonth, $jday ) = gregorian_to_jalali($gyear, $gmonth, $gday);
?>

در اینجا مشخص است که 3 متغیر سال، ماه و روز میلادی را به عنوان متغیر های ورودی
تابع grogorian_to_jalali وارد کرده ایم و چون خروجی این تابع از نوع آرایه است
توسط دستور list هر کدام از عناصر این آرایه را در یک متغیر قرار می دهیم . این
متغیر های حاوی اطلاعات سال،‌ ماه و روز همان تاریخ به شمسی می باشند . برای اینکه
آنها را به صورت قابل نمایش در یک متغیر قرار دهیم می توانیم این خط را به برنامه
اضافه کنیم :


$jdate = $jyear."/\".$jmonth.\"/\".$jday;
?>

در صوتیکه مقدار $jdate را نمایش دهید همان تاریخ از نوع شمسی خواهد بود که چیزی
شبیه به مقدار زیر است :

4/9/1381

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



list($gyear, $gmonth, $gday ) = preg_split ('/-/', date("Y-m-d\"));
list( $jyear, $jmonth, $jday ) = gregorian_to_jalali($gyear, $gmonth, $gday);

$jdate = $jyear.\"/\".$jmonth.\"/\".$jday;
?>

همانطور که ملاحظه کردید از دستور date با آرگومان داده شده تاریخ فعلی سیستم
استخراج می شود و در همان روال توضیح داده شده تبدیل به شمسی شده و در متغیر $jdate
قرار می گیرد .

 

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



function get_jahangir_date( $gdate='now' )
{

if ( $gdate == 'now' )
{
list($gyear, $gmonth, $gday ) = preg_split ('/-/', date("Y-m-d\"));
}
else
{
list( $gyear, $gmonth, $gday ) = preg_split ( '/-/', $gdate );
}
list( $jyear, $jmonth, $jday ) = gregorian_to_jalali($gyear, $gmonth, $gday);
return $jyear.\"/\".$jmonth.\"/\".$jday;

}
?>

تابعی با نام get_jalali_date تعریف کردیم که یک متغیر به عنوان ورودی دریافت
می کند که این همان تاریخ به میلادی است . در صوتیکه هنگام صدا کردن این تابع تاریخ
میلادی را به عنوان ورودی برای این تابع وارد کرده باشید،‌ تابع همان تاریخ را
به شمسی تبدیل کرده و در خروجی بر می گرداند،‌ ولی اگر هیچ متغیری به عنوان ورودی
به این تابع ندهید،‌ تاریخ همان لحظه را به شمسی برای شما در خروجی بر می گرداند
.

مثلا برای تبدیل همان تاریخ 2002-11-25 به شمسی و قرار دادن آن در یک متغیر می
توانیم با استفاده از تابع بالا اینگونه عمل کنیم :


= get_jahangir_date("2002-11-25\");?>

و یا برای بدست آوردن تاریخ همین لحظه و قرار دادن آن در یک متغیر اینگونه عمل
می کنیم :


= get_jalhangir_date();?>

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

2- تبدیل تاریخ شمسی به میلادی :

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

برای نمونه اگر بخواهیم تاریخ 4/9/1381 را به میلادی تبدیل کنیم کاری مشابه برنامه
زیر انجام می دهیم :



$jdate="1381/9/4\";
list( $jyear, $jmonth, $jday ) = preg_split ( '/\//', $jdate );
list( $gyear, $gmonth, $gday ) = jalali_to_gregorian($jyear, $jmonth, $jday);
$gdate = $gyear.\"-\".$gmonth.\"-\".$gday;
?>

تنها تفاومت موجود با تابع بالا استفاده از / برای جداسازی اجزاء تاریخ شمسی می
باشد . همانطور که گفتیم تابع preg_split آرگومان اول خود که همان delimiter (‌
جدا کننده )‌ می باشد را به صورت regex می گیرد که باید بین دو علامت / باشد ،‌
در اینجا باید قبل / که نشان دهنده کاراکتر delimiter ما می باشد یک \ (‌back slash
)‌ قرار می دهیم که جداکننده مشخص باشد .

                                  « نظر خودتون رو وارد کنيد تا مطالب جديدتري رو قرار بدم »

منبع : Iranphp.net

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

مطلب از  http://www.aftabir.com/articles/view/applied_sciences/geograohy_history/c12c1189592486_history_p1.php/%D8%AA%D9%82%D9%88%DB%8C%D9%85-%D9%87%D8%A7-%D9%88-%D8%AA%D8%A8%D8%AF%DB%8C%D9%84-%D9%87%D8%A7-%D8%AF%D8%B1-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86

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

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

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

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

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

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

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

لیکن سال قمری ملل باستانی، با دشواری بسیاری، با سال خورشید قابل تطبیق بود. زیرا دوازده ماه قمری دارای ۳۵۴ یا ۳۵۵ روز است و با فصول سال تطبیق نمی کند. در صورتی که سال شمسی دارای ۳۶۵ روز است. بنابراین، اگر ملاک محاسبه را سال قمری قرار دهیم، به زودی میان سال قراردادی با سالی که مولود طبیعت زنده است و با فصول چهارگانه و وضع خورشید و سال شمسی مطابقت دارد، اختلافی به وجود خواهد آمد و ماه، یعنی مثلاً ماه درو و برداشت محصول گندم و سایر غلات و حبوبات، تدریجاً تمام فصول سال را طی می کند.

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

باید توجه داشت که نویسندگان و مورخان ایران بعد از اسلام در آثار خود وقوع حوادث تاریخی را با ذکر سال های هجری قمری ضبط می کردند. تنها از دوران سلسله ایلخانان به بعد برای محاسبات امور مالی از سال های شمسی، استفاده شد و این وضع تا سال ۱۳۴۲ قمری معمول بود.

در این سال مبدأ تاریخ از اول هجرت پیامبر بزرگوار اسلام (ص) با سال های هجری شمسی محاسبه شد و همان طور که ذکر گردید، این گاه شماری در یازدهم فروردین ۱۳۰۴ هجری شمسی به تصویب نمایندگان مجلس شورای ملی رسید و استفاده از تاریخ های دیگر منسوخ شد ولیکن تاریخ هجری قمری هم چنان برای اجرای مراسم دینی باقی ماند.

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

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

۱) طریقه ی تبدیل سال میلادی به هجری قمری

می دانیم مدت سال میلادی ۳۶۵ روز است و مدت سال هجری قمری ۳۵۴ روز (۱۱ = ۳۵۴ – ۳۶۵). پس سال هجری قمری در هر سال یازده روز از سال میلادی کم تر است. این اختلاف بعد از گذشت ۳۳ سال نزدیک به یک سال می شود (۳۶۳ =۱۱ ×۳۳).

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

H = ( C ۶۲۲)

حرف C علامت میلادی است و حرف H علامت هجری. عدد ۶۲۲ تاریخ هجرت پیامبر بزرگوار اسلام (ص) از مکه به مدینه است. مثلاً اگر خواسته باشیم سال ۲۰۰۰ میلادی را به سال هجری قمری تبدیل کنیم، چنین می شود:

۲۰۰۰ ۶۲۲=۱۳۷۸

۱۳۷۸×۳۳=۴۵۴۷۴

۴۵۴۷۷÷ ۳۲=۱۴۲۱ هجری قمری

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

۲) طریقه ی تبدیل سال هجری قمری به میلادی

C = H +۶۲۲

مثلاً سال ۱۴۲۱ هجری قمری برابر است با:

۱۴۲۱×۳۲=۴۵۴۷۲

۴۵۴۷۲÷ ۳۳=۱۳۷۷

چون در این تقسیم باقی مانده از عدد ده بیش تر شده است، یک سال بر خارج قسمت اضافه می کنیم:

۱۳۷۷+۱=۱۳۷۸

۱۳۷۸+۶۲۲=۲۰۰۰ میلادی

۳) طریقه ی تبدیل سال هجری شمسی به سال هجری قمری

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

مثلاً برای تبدیل سال ۱۳۷۹ هجری شمسی به هجری قمری چنین عمل می کنیم:

۱۱ روز بیش تر ۱ سال هجری شمسی

X ۱۳۷۹

روز ۱۵۱۶۹= ۱۱ ×۱۳۷۹

سال ۴۲=۳۵۴÷۱۵۱۶۹

جواب ۱۴۲۱ = ۴۲÷۱۳۷۹

۴) طریقه ی تبدیل سال هجری قمری به سال هجری شمسی

در این تبدیل نیز می توان به همان طریق عمل کرد:

با بستن یک تناسب می توانیم به نتیجه ی دقیق برسیم و سال هجری قمری مورد نظر را به سال هجری شمسی تبدیل کنیم. مثلاً برای تبدیل سال ۱۴۲۱ هجری قمری به سال هجری شمسی می گوییم:

۱۱ روز کم تر ۱ سال هجری قمری

X ۱۴۲۱

روز ۱۵۶۳۱= ۱۱ ×۱۴۲۱

سال ۴۲=۳۶۵÷۱۵۶۳۱

جواب ۱۳۷۹ = ۴۲ـ ۱۴۲۱

۵) طریقه ی تبدیل سال هجری شمسی به میلادی

برای تبدیل سال هجری شمسی به سال میلادی، سال مورد نظر را تا دهم دی ماه با عدد ۶۲۱ جمع می کنیم و از روز یازدهم دی ماه، که آغاز سال نو میلادی است، سال هجری شمسی مورد نظر را تا آخر اسفندماه با عدد ۶۲۲ جمع می کنیم. باید توجه داشت که هر دو تقویم در واقع شمسی محسوب می شوند و فقط در کبیسه اختلاف دارند. تفاوت سال تقویم هجری شمسی با تقویم میلادی در فاصله ی بین اول ژانویه (یازدهم دی ماه) و ۲۱ مارس (اول فروردین) برابر ۶۲۲ سال، و از ۲۱ مارس تا ۳۱ دسامبر برابر ۶۲۱ سال است.

۶) طریقه ی تبدیل سال میلادی به هجری شمسی

برای تبدیل سال میلادی به سال هجری شمسی از اول فروردین تا دهم دی ماه عدد ۶۲۱ را از سال میلادی مورد نظر کم می کنیم و از یازدهم دی ماه، که آغاز سال میلادی است، تا آخر اسفند ماه، عدد ۶۲۲ را از سال میلادی کم می کنیم.

پس از تبدیل تاریخ ها، همان طور که گفته شد، با رعایت کبیسه به وسیله ی تعیین ردیف و روز آسان می شود، لیکن باید در نظر داشت که اگر سال میلادی بعد از سال ۱۵۸۲، یعنی بعد از سال ۹۶۱ هجری شمسی باشد، روز اول فروردین مطابق ۲۱ مارس است، اما برای سال های قبل از سال ۱۵۸۲ (تاریخ تغییر تقویم قیصری به تقویم گرگوری) باید به جدول زیر مراجعه کرد:

سال ه . ش اول فروردین مطابق با سال میلادی

۱ ۶۲۲

۱۵۰ ۱۷ مارس ۷۷۰

۲۸۰ ۱۶ م ارس ۹۰۰

۴۰۰ ۱۵ مارس ۱۰۲۰

۵۲۰ ۱۴ مارس ۱۱۴۵

۶۵۰ ۱۳ مارس ۱۲۷۵

۷۷۰ ۱۲ مارس ۱۳۹۵

۹۰۰ ۱۱ مارس ۱۵۲۰

۹۶۱ ۱۰ مارس ۱۵۸۲

برای سال های قبل از ۱۵۸۲، روزی از مارس که با اول فروردین مطابق است از روی جدول تعیین می شود؛ چنان که در جدول مشاهده می شود که بین ۱۲۷۰ و ۱۲۹۰ میلادی اول فروردین سال هجری شمسی مطابق با دوازدهم مارس است. مثلاً برای تبدیل ۱۲ اکتبر سال ۱۴۹۲ (سال کشف قاره ی آمریکا به دست کریستف کلمب) به تاریخ هجری شمسی، چنین عمل می شود:

۸۷۱ = ۶۲۱ ـ ۱۴۹۲

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

آموزش php  انواع متغييرها  در php

مطلب از http://amoozeshrooz.blogfa.com/cat-249.aspx

 انواع متغييرها در PHP

امروز مي خواهيم در مورد انواع متغيير ها صحبت کنيم و همچنين چگونگي به کار بردن متغيير هاي و آرايه ها در يک اسکريپت PHP.
براي تبديل صفحات ساده و ثابت به برنامه هاي ديناميک و سايت هاي جذاب در ابتدا شما احتياج به اين خواهيد داشت که بتوانيد اطلاعات را در اختيار بگيريد.متغيير ها همان ابزاري هستند که شما با استفاده از آن ها مي توانيد اطلاعات را در اختيار بگيريد  و آنها را در دسترس خود قرار دهيد. متغيير ها يکي از مهمترين ابزارها و مفاهيم هر زبان برنامه نويسي محسوب مي شوند.

من در اينجا سه دسته مختلف از انواع متغيير ها را توضيح مي دهم.

1) اعداد (numbers)
2) رشته ها (String)
3) آرايه ها (arrays)

دسته اول شامل دو نوع متغيير است:

1)اعداد صحيح (integers)
2)اعداد اعشاري (floating - point) ( همچنين اعداد اعشاري با دقت مضاعف double)

اما از آنجايي که تفاوت چنداني در چگونگي به کار بردن اين دونوع متغيير وجود ندارد . اين دو را در يک دسته قرار مي دهيم.

PHP همچنين داراي يک نوع متغيير به نام شيء (object) مي باشد.

اعداد
نکته:اعداد به صورت اعشاري ( همراه با مميز ) و يا اعدا کسري از نوع متغييرهاي اعشاري محسوب مي شوند. براي مثال (1.0) در PHP يک عدد اعشاري به حساب مي آيد. توجه کنيد که در PHP اعداد به صورت کسري ذخيره نمي شوند بلکه معادل اعشاري خود تبديل شده و سپس ذخيره مي شوند.

مثالهايي از اعداد صحيح معتبر:

آ 1آ و 1972آ و 1-

مثالهاي از اعداد اعشاري :

1.0آ و 19.72 و 1.0-

همچنين مثالهاي که در دسته اعداد قرار نمي گيرند:

4/11  a1972 آ 02.23.72

رشته ها
يک متغيير از نوع رشته اي (String) از ترکيب هر نوع کارکتري ( حروف - اعداد - علائم و جاي خالي ) مي تواند ساخته شود.اما اين کارکترها بايد در داخل يکي از علامتهاي Single(' ') Quotation و يا (" " ) Double Quotation قرار گيرند.

مثال:
HELLO , WORLD !""

"hello frist name ! "

"1 1/4"

"how are you?"

"02.23.72"

"1972"
نکته : اگر عدد نيز در داخل Quotation قرار گيرد يه عنوان يک داده رشته اي در نظر گرفته مي شود.

مثالهاي از داده هاي رشته اي غير مجاز:

hello world!

how are you" " "I Said," "

توجه!!!

شايد اين سئوال در ذهن شما به وجود بياد که چطوري مي تونيم يک علامت " را به مرور گر ارسال کنيم؟

ما مي تونيم اين مشکل رو در PHP به اين صورت رفع کنيم که قبل از علامت quitation از علامت () استفاده کنيم!!!

پس وقتي ما در دستور print() اين عبارت (I Said, "How are You?" "") رو تايپ کنيم خروجي اين دستور به صورت ( I Said, "How are You?" ) خواهيد ديد.

بنابراين هر چند که گفته شد در داده رشته اي هر ترکيبي از کاراکترها به کار مي رود. بايد توجه داشته باشيد که در مورد کاراکترهاي ويژه بايد دقت خاصي اعمال شود. کاراکترهاي ويژه ديگري نيز وجود دارند که هنگام استفاده از آنها در يک داده رشته اي بايد علامت backslash () قبل از آنها قرار دهيم.

اين کاراکتر ها عبارت است از:

single quotation ( ' )

apostrophe

backslash

و علامت dollar

نکات:
-مزيت استفاده از double quotes به جاي single quotes در اين است که در حالت دوم اگر متغييري داخل داده رشته اي خود به کار ببريد نام متغيير به عنوان جزئي از داده در نظر گرفته مي شود و نه مقدار آن متغيير جايگزين نام آن نمي شود.

- در درسهاي قبلي اشاره شد که در ترکيب براي مثال در تابع print() باعث ايجاد خط جديد مي شود. بنابراين مشاهده مي کنيد که در اين حالت خاص علامت backslash باعث در نظر گرفتن n به صورت يک کاراکتر معمولي نشد.از موارد خاص ديگر مي توان به ترکيب ( بازگشت خطي ( carriage return)) و ( براي قرار دادن يک tab) اشاره کرد.

آرايه ها:
از آنجايي که آرايه ها کمي پيچيده تر از داده هاي عددي و رشته اي به حساب مي آيند.در اين قسمت تنها مختصري در مورد آنها توضيح داده مي شود و در درسهاي آينده با کاربرد هاي آن بيشتر آشنا خواهيد شد.

بر خلاف داده هاي عددي و رشته اي که تنها مي توانند داراي يک ارزش و يا مقدار باشند. آرايه ها مي توانند حاوي ليستي از مقادير باشند.بنابراين شما مي توانيد مقادير مختلف عددي و يا رشته اي را داخل يک آرايه قرار دهيد. همچنين آرايه ها خود مي توانند شامل ليستي از آرايه ها باشند.

نکته:
- آرايه هاي استاندارد در PHP از مقادير دادهاي و يا عددي تشکيل مي شوند ( اين آرايه ها به آرايه هاي شماره گذاري شده ( indexed ) و يا برداري ( vector ) نيز معروف هستند.)

و اين همانآ نامي است که Perl به اين دسته از آرايه ها نسبت مي دهد. در Perl آرايه هايي که خود از آرايه هايي که خود از آرايه تشکيل شده باشد. به نامهاي آرايه هاي hash و associative و multi_dimensional شناخته مي شوند. در PHP به هر دو دسته ( يک يا چند بعدي ) لفظ آ« آرايه آ» اطلاق مي شود.

نسبت دادن مقادير به متغييرها
در PHP شما به اعلان ( declare ) متغييرها احتياج نداريد. همچنين نوع يک متغيير در هنگام عمل انتساب مشخص مي شود.

در PHP براي نسبت دادن يک مقدار به يک متغيير و ذخيره آن مقدار از علامت مساوي ( = ) استفاده مي کنيد.در اين هنگام اين علامت با نام عملگر انتساب ( assignment Operater ) خوانده مي شود.

مثال:

$number = 1;

$floating-number = 1.2;

$string = "Hello,World!";

نکته:در PHP نيز همانند Java Script نوع متغيير در طول برنامه مي تواند تغيير کند.

متغييرهاي از پيش تعريف شدهمتغييرهاي از پيش تعريف شده ( Predefined Variables ) انواع خاصي از متغيير ها هستند که در يکي از برنامه ها به کار گرفته مي شوند:

برنامه هاي کاربردي سرويس دهنده وب ( web server applivations (مانند Apache )

سيستم عاملهاي سرويس دهنده وب ( web server operationg system ( مانند windows nt و يا Solaris)

و يا در خود مدل PHP .

در دو دسته اول اين متغيير ها به متغييرهاي محيطي ( variables enviromental ) معروفند .

متغييرهاي از پيش تعريف شده در سرويس دهنده هاي مختلف ممکن است داراي تفاوتهايي باشند . بنابراين براي مشاهده اين متغييرها بهتر است از تابع phpinfo() که در درسهاي قبلي توضيح داده ام استفاده کنيد.

دو دليل براي آشنايي شما با مفهوم متغييرهاي از پيش تعريف شده وجود دارد.

دليل اول اينست که اين متغييرها در برنامه نويسي شما کاربرد خواهند داشت و دليل ديگر آنکه با شناخت اين متغييرها شما ديگر به صورت تصادفي نام يک متغيير را هم نام با اين متغييرها انتخاب نمي کنيد.

نمونه هايي از متغييرهاي محيطي سرويس دهنده عبارتند از: Hostname ( نامي که سرويس دهنده به خود نسبت داده است) و Ostype ( سيستم عاملي که بر روي سرويس دهنده در حال اجراء مي باشد.)

نمونه هاي از متغيير هاي محيطي Apache عبارتند از: Document_Root ( مکان ذخيره فايل ها بر روي سرويس دهنده) و HTTP_USER_AGENT ( جزئياتي در مورد مرورگر و Platfrom کاربر را ارائه مي دهد).

متغيير PHP-SELF پر کاربردترين متغيير PHP مي باشد که نام صفحه جاري را در خود ذخيره کرده است .

نکته:اگر شما متغييرهاي خود را هم نام با متغييرهاي محيطي سيستم نامگذاري کنيد. نتايجي عجيب و منحصر به فردي حاصل مي شوند. هر چند احتمال انجام اين کار اندک مي باشد. با اين وجود بهتر است لستي از متغيير هاي محيطي سيستم را در هنگام نامگذاري متغييرها در برابر خود داشته باشيد. 

                                      « نظر خودتون رو وارد کنيد تا مطالب جديدتري رو قرار بدم »

ashyaneeh.com : منبع 

استفاده از تابع تبدیل تاریخ شمسی به میلادی و برعکس

مکطلب از http://amoozeshrooz.blogfa.com/cat-249.aspx

استفاده از تابع تبدیل تاریخ شمسی به میلادی و برعکس

استفاده از تابع تبدیل تاریخ شمسی به میلادی و بالعکس در PHP

برای دریافت توابع کافیست که کد توابع را از این آدرس دریافت کنید :

http://www.iranphp.net/modules/sections/index.php?op=viewarticle&artid=19

بوسیله یک Copy و Paste متن این توابع را درون یک فایل جدید بنام به عنوان مثال
jalali.php ذخیره کنید .

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

require_once "jahangir.php\";?>

با این کار دو تابع با نامهای gregorian_to_jahangir و jahangir_to_gregorian در اختیار
شما قرار می گیرند که به ترتیب برای تبدیل تاریخ میلادی به شمسی و شمسی به میلادی
مورد استفاده قرار می گیرند .

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

1- تبدیل تاریخ میلادی به شمسی

برای این کار باید از تابع gregorian_to_jalali استفاده کنید . این تابع 3 متغیر
را از ورودی دریافت می کند که به ترتیب سال، ماه و روز می باشد که همگی از نوع
عددی می باشند .

برای مثال اگر بخواهیم تاریخ 2002-11-25 را که درون یک متغیر داریم به شمسی تبدیل
کنیم و سپس آنرا درون یک متغیر قرار دهیم ابتدا باید عناصر تاریخ میلادی رو جدا
کنیم . برای این کار می توانیم در دستور زیر استفاده کنیم :

='2002-11-25';
list( $gyear, $gmonth, $gday ) = preg_split ( '/-/', $gdate );
?>

در اینجا از دستور preg_spilit برای جدا کردن عناصر تاریخ $gdate توسط جداکننده
– استفاده کرده ایم . همانطور که می بینید syntax این دستور به این صورت است که
2 متغیر به عنوان ورودی دریافت می کند . اولی به عنوان delimiter می باشد که چون
می توان به صورت regex نیز آنرا وارد کرد باید بین دو slash (/) قرار گیرد و متغیر
دوم هم که همان متغییری است که تاریخ میلادی ما در آن قرار دارد .

 

چون خروجی این دستور یک آرایه است از دستور list استفاده کرده ایم تا عناصر آرایه
را هر کدام در یک متغیر قرار دهیم . هم اکنون روز، ماه و سال میلادی را هر کدام
در یک متغیر داریم . حال می توانیم از تابع gregorian_to_jalali استفاده کنیم :


list( $jyear, $jmonth, $jday ) = gregorian_to_jalali($gyear, $gmonth, $gday);
?>

در اینجا مشخص است که 3 متغیر سال، ماه و روز میلادی را به عنوان متغیر های ورودی
تابع grogorian_to_jalali وارد کرده ایم و چون خروجی این تابع از نوع آرایه است
توسط دستور list هر کدام از عناصر این آرایه را در یک متغیر قرار می دهیم . این
متغیر های حاوی اطلاعات سال،‌ ماه و روز همان تاریخ به شمسی می باشند . برای اینکه
آنها را به صورت قابل نمایش در یک متغیر قرار دهیم می توانیم این خط را به برنامه
اضافه کنیم :


$jdate = $jyear."/\".$jmonth.\"/\".$jday;
?>

در صوتیکه مقدار $jdate را نمایش دهید همان تاریخ از نوع شمسی خواهد بود که چیزی
شبیه به مقدار زیر است :

4/9/1381

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



list($gyear, $gmonth, $gday ) = preg_split ('/-/', date("Y-m-d\"));
list( $jyear, $jmonth, $jday ) = gregorian_to_jalali($gyear, $gmonth, $gday);

$jdate = $jyear.\"/\".$jmonth.\"/\".$jday;
?>

همانطور که ملاحظه کردید از دستور date با آرگومان داده شده تاریخ فعلی سیستم
استخراج می شود و در همان روال توضیح داده شده تبدیل به شمسی شده و در متغیر $jdate
قرار می گیرد .

 

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



function get_jahangir_date( $gdate='now' )
{

if ( $gdate == 'now' )
{
list($gyear, $gmonth, $gday ) = preg_split ('/-/', date("Y-m-d\"));
}
else
{
list( $gyear, $gmonth, $gday ) = preg_split ( '/-/', $gdate );
}
list( $jyear, $jmonth, $jday ) = gregorian_to_jalali($gyear, $gmonth, $gday);
return $jyear.\"/\".$jmonth.\"/\".$jday;

}
?>

تابعی با نام get_jalali_date تعریف کردیم که یک متغیر به عنوان ورودی دریافت
می کند که این همان تاریخ به میلادی است . در صوتیکه هنگام صدا کردن این تابع تاریخ
میلادی را به عنوان ورودی برای این تابع وارد کرده باشید،‌ تابع همان تاریخ را
به شمسی تبدیل کرده و در خروجی بر می گرداند،‌ ولی اگر هیچ متغیری به عنوان ورودی
به این تابع ندهید،‌ تاریخ همان لحظه را به شمسی برای شما در خروجی بر می گرداند
.

مثلا برای تبدیل همان تاریخ 2002-11-25 به شمسی و قرار دادن آن در یک متغیر می
توانیم با استفاده از تابع بالا اینگونه عمل کنیم :


= get_jahangir_date("2002-11-25\");?>

و یا برای بدست آوردن تاریخ همین لحظه و قرار دادن آن در یک متغیر اینگونه عمل
می کنیم :


= get_jalhangir_date();?>

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

2- تبدیل تاریخ شمسی به میلادی :

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

برای نمونه اگر بخواهیم تاریخ 4/9/1381 را به میلادی تبدیل کنیم کاری مشابه برنامه
زیر انجام می دهیم :



$jdate="1381/9/4\";
list( $jyear, $jmonth, $jday ) = preg_split ( '/\//', $jdate );
list( $gyear, $gmonth, $gday ) = jalali_to_gregorian($jyear, $jmonth, $jday);
$gdate = $gyear.\"-\".$gmonth.\"-\".$gday;
?>

تنها تفاومت موجود با تابع بالا استفاده از / برای جداسازی اجزاء تاریخ شمسی می
باشد . همانطور که گفتیم تابع preg_split آرگومان اول خود که همان delimiter (‌
جدا کننده )‌ می باشد را به صورت regex می گیرد که باید بین دو علامت / باشد ،‌
در اینجا باید قبل / که نشان دهنده کاراکتر delimiter ما می باشد یک \ (‌back slash
)‌ قرار می دهیم که جداکننده مشخص باشد .

                                  « نظر خودتون رو وارد کنيد تا مطالب جديدتري رو قرار بدم »

منبع : Iranphp.net

استفاده از تابع تبدیل تاریخ شمسی به میلادی و برعکس

مکطلب از http://amoozeshrooz.blogfa.com/cat-249.aspx

استفاده از تابع تبدیل تاریخ شمسی به میلادی و برعکس

استفاده از تابع تبدیل تاریخ شمسی به میلادی و بالعکس در PHP

برای دریافت توابع کافیست که کد توابع را از این آدرس دریافت کنید :

http://www.iranphp.net/modules/sections/index.php?op=viewarticle&artid=19

بوسیله یک Copy و Paste متن این توابع را درون یک فایل جدید بنام به عنوان مثال
jalali.php ذخیره کنید .

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

require_once "jahangir.php\";?>

با این کار دو تابع با نامهای gregorian_to_jahangir و jahangir_to_gregorian در اختیار
شما قرار می گیرند که به ترتیب برای تبدیل تاریخ میلادی به شمسی و شمسی به میلادی
مورد استفاده قرار می گیرند .

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

1- تبدیل تاریخ میلادی به شمسی

برای این کار باید از تابع gregorian_to_jalali استفاده کنید . این تابع 3 متغیر
را از ورودی دریافت می کند که به ترتیب سال، ماه و روز می باشد که همگی از نوع
عددی می باشند .

برای مثال اگر بخواهیم تاریخ 2002-11-25 را که درون یک متغیر داریم به شمسی تبدیل
کنیم و سپس آنرا درون یک متغیر قرار دهیم ابتدا باید عناصر تاریخ میلادی رو جدا
کنیم . برای این کار می توانیم در دستور زیر استفاده کنیم :

='2002-11-25';
list( $gyear, $gmonth, $gday ) = preg_split ( '/-/', $gdate );
?>

در اینجا از دستور preg_spilit برای جدا کردن عناصر تاریخ $gdate توسط جداکننده
– استفاده کرده ایم . همانطور که می بینید syntax این دستور به این صورت است که
2 متغیر به عنوان ورودی دریافت می کند . اولی به عنوان delimiter می باشد که چون
می توان به صورت regex نیز آنرا وارد کرد باید بین دو slash (/) قرار گیرد و متغیر
دوم هم که همان متغییری است که تاریخ میلادی ما در آن قرار دارد .

 

چون خروجی این دستور یک آرایه است از دستور list استفاده کرده ایم تا عناصر آرایه
را هر کدام در یک متغیر قرار دهیم . هم اکنون روز، ماه و سال میلادی را هر کدام
در یک متغیر داریم . حال می توانیم از تابع gregorian_to_jalali استفاده کنیم :


list( $jyear, $jmonth, $jday ) = gregorian_to_jalali($gyear, $gmonth, $gday);
?>

در اینجا مشخص است که 3 متغیر سال، ماه و روز میلادی را به عنوان متغیر های ورودی
تابع grogorian_to_jalali وارد کرده ایم و چون خروجی این تابع از نوع آرایه است
توسط دستور list هر کدام از عناصر این آرایه را در یک متغیر قرار می دهیم . این
متغیر های حاوی اطلاعات سال،‌ ماه و روز همان تاریخ به شمسی می باشند . برای اینکه
آنها را به صورت قابل نمایش در یک متغیر قرار دهیم می توانیم این خط را به برنامه
اضافه کنیم :


$jdate = $jyear."/\".$jmonth.\"/\".$jday;
?>

در صوتیکه مقدار $jdate را نمایش دهید همان تاریخ از نوع شمسی خواهد بود که چیزی
شبیه به مقدار زیر است :

4/9/1381

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



list($gyear, $gmonth, $gday ) = preg_split ('/-/', date("Y-m-d\"));
list( $jyear, $jmonth, $jday ) = gregorian_to_jalali($gyear, $gmonth, $gday);

$jdate = $jyear.\"/\".$jmonth.\"/\".$jday;
?>

همانطور که ملاحظه کردید از دستور date با آرگومان داده شده تاریخ فعلی سیستم
استخراج می شود و در همان روال توضیح داده شده تبدیل به شمسی شده و در متغیر $jdate
قرار می گیرد .

 

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



function get_jahangir_date( $gdate='now' )
{

if ( $gdate == 'now' )
{
list($gyear, $gmonth, $gday ) = preg_split ('/-/', date("Y-m-d\"));
}
else
{
list( $gyear, $gmonth, $gday ) = preg_split ( '/-/', $gdate );
}
list( $jyear, $jmonth, $jday ) = gregorian_to_jalali($gyear, $gmonth, $gday);
return $jyear.\"/\".$jmonth.\"/\".$jday;

}
?>

تابعی با نام get_jalali_date تعریف کردیم که یک متغیر به عنوان ورودی دریافت
می کند که این همان تاریخ به میلادی است . در صوتیکه هنگام صدا کردن این تابع تاریخ
میلادی را به عنوان ورودی برای این تابع وارد کرده باشید،‌ تابع همان تاریخ را
به شمسی تبدیل کرده و در خروجی بر می گرداند،‌ ولی اگر هیچ متغیری به عنوان ورودی
به این تابع ندهید،‌ تاریخ همان لحظه را به شمسی برای شما در خروجی بر می گرداند
.

مثلا برای تبدیل همان تاریخ 2002-11-25 به شمسی و قرار دادن آن در یک متغیر می
توانیم با استفاده از تابع بالا اینگونه عمل کنیم :


= get_jahangir_date("2002-11-25\");?>

و یا برای بدست آوردن تاریخ همین لحظه و قرار دادن آن در یک متغیر اینگونه عمل
می کنیم :


= get_jalhangir_date();?>

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

2- تبدیل تاریخ شمسی به میلادی :

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

برای نمونه اگر بخواهیم تاریخ 4/9/1381 را به میلادی تبدیل کنیم کاری مشابه برنامه
زیر انجام می دهیم :



$jdate="1381/9/4\";
list( $jyear, $jmonth, $jday ) = preg_split ( '/\//', $jdate );
list( $gyear, $gmonth, $gday ) = jalali_to_gregorian($jyear, $jmonth, $jday);
$gdate = $gyear.\"-\".$gmonth.\"-\".$gday;
?>

تنها تفاومت موجود با تابع بالا استفاده از / برای جداسازی اجزاء تاریخ شمسی می
باشد . همانطور که گفتیم تابع preg_split آرگومان اول خود که همان delimiter (‌
جدا کننده )‌ می باشد را به صورت regex می گیرد که باید بین دو علامت / باشد ،‌
در اینجا باید قبل / که نشان دهنده کاراکتر delimiter ما می باشد یک \ (‌back slash
)‌ قرار می دهیم که جداکننده مشخص باشد .

                                  « نظر خودتون رو وارد کنيد تا مطالب جديدتري رو قرار بدم »

منبع : Iranphp.net

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

 

مطلب از http://amoozeshrooz.blogfa.com/cat-249.aspx

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

PHP تا چه حد شی گراست؟! آيا تمام امکاناتی که در زبانهای برنامه نويسی شی گرای کاملی همچون Java وجود داره، در PHP هم پشتيبانی ميشه؟! پاسخ به اين سوال تا حدی بر ميگرده به معيارها و شرايطی که شما برای شی گرا بودن یک زبان مدنظر داريد. در اين پست من سعی ميکنم امکاناتی که نوعا در يک زبان برنامه نويسی شی گرا وجود داره رو بررسی کنم و حرفايی که PHP در هر مورد برای گفتن داره رو تا حدی توضيح بدم. (این راهنما بیشتر برای کسانی هست که از زبانهای OO دیگری میخوان به PHP روی بیارن.)
لازم به ذکر است که تنها به قابلیت های موجود در نسخه پایدار PHP که از Zend Engine 1 بعنوان مفسر(Parser) خود بهره می بره، پرداخته شده است.


وراثت یگانه(Single Inheritance):


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


وراثت چندگانه(Multiple Inheritance):


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


سازنده ها(Constructors):


هر کلاس می تونه یک تابع سازنده داشته باشه که در نسخه فعلی PHP که از Zend Engine 1 بهره می بره، باید همنام کلاس باشه. در نسخه بعدی PHP که مجهز به ZE2 می باشد، تابع سازنده هر کلاس ()construct__ نام خواهد گرفت. تابع سازنده کلاسهای والد به طور اتوماتیک فراخوانی نمی شن مگر اینکه صریحا احضار بشن!


تخریب کننده ها(Destractors):


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

کپسوله سازی و کنترل دسترسی(Encapsulation):


هيچ پشتيبانی از کپسوله سازی در نسخه جاری PHP به عمل نيومده و تمام مشخصه ها و رفتارها Public هستند، اما تو نسخه بعدی دو نوع Private و Protected افزوده شده است.

چند شکلی(Polymorphism):


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

اتصال دیر یا زود(Early vs. late binding)


دو پاسخ مناسب به این موضوع به قرار ذیل هست:
۱) از اونجایی که PHP یک زبان Loosely Type هست، این سوال پیش نمی یاد.
۲) تمام اتصالات Late هستند. در PHP مقادیر دارای نوع هستند ولی متغیرها بی نوع هستند، بنابراین این سوال که اگه نوع متغیر و مقدار متفات باشه کدوم متد فراخوانی بشه، به وجود نمی یاد.

توابع ايستا(Static Functions)


پشتيبانی صريحی از Class Functionها وجود نداره اما ميشه که با استفاده از سينتکس ()Classname::function ميشود تابع يک کلاس رو فراخوانی کرد. اين تابع تا وقتيکه به يک متغير داخلی ارجاع نکنه ، به عنوان يک Class Function در نظر گرفته ميشه.

درون نگری(Introspection):


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

 

                                « نظر خودتون رو وارد کنيد تا مطالب جديدتري رو قرار بدم »

منبع : Phpmystery.com

روش نصب PHP بروى Windows ها

مطلب از وبلاگ http://amoozeshrooz.blogfa.com/cat-249.aspx

 

روش نصب PHP بروى Windows ها
 
روش نصب PHP بروى windows 95/98/Me NT/2000/XP
PHP بر روى win32 بدو صورت نصب مىشود

1 - بصورت
CGI executable
2 - بصورت
server module SAPI

1 - نصب
PHP بصورت CGI executable :
نصب
PHP بصورت CGI executable بسيار ساده مىباشد براى اين كار شما بايد بر روى PC خود يكى از web server هاى زير را داشته باشيد

Personal Web Server 3 and 4 or newer
Internet Information Server 3 and 4 or newer
Apache 1.3.x
OmniHTTPd 2.0b1 and up
Oreilly Website Pro
Xitami
Netscape Enterprise Server, iPlanet
در سايت
www.php.net شما مىتوانيد php Installer را بر روى PC خود ذخيره كنيد
اين برنامه
php را بر روى PC شما بصورت CGI executable و با پشتيبانى MySQL نصب خواهد كرد و web Server شما را بصورت automatic تنظيم خواهد كرد
--------------------------------------------------------------------------------
2 - نصب
PHP بر روى win32 بصورت server module SAPI :

نصب
PHP بصورت server module SAPI بر روى Apache توسط دوست عزيزمان آقاى على نادرى در قسمت مقالات بطور كامل توضيح داده شده است
و اما نصب
PHP بر روى IIS :
جهت اين كار ابتدا بايد
PHP را از اين آدرس Windows Binaries بر روى PC خود ذخيره كنيد
محتويات اين فايل كه بصورت
zip است را در شاخه‌اى كه مىخواهيد php را نصب كنيد قرار دهيد c:\php خوب است
پس از اين كار فايل‌هاى
php4ts.dll و sapi/php4isapi.dll و dlls/*.dll را در شاخه system ذخيره كنيد

c:\windows\system for Windows 9x/ME
c:\winnt\system32 for Windows NT/2000
c:\windows\system32 for Windows XP
فايل
php.ini-recommended را به php.ini تغيير نام داده و در شاخه WINDOWS ذخيره كنيد
در فايل
php.ini تغييرات زير را ايجاد كنيد:
شما بايد
extension_dir را به شاخه extension هاى مورد نظر خود تغيير دهيد چنانچه مطابق با توضيحات پيش رفته باشيد اين مسير c:\php\extensions مىباشد
فايل
browscap.ini را در

c:\windows\system\inetsrv\browscap.ini on Windows 9x/Me,
c:\winnt\system32\inetsrv\browscap.ini on NT/2000,
c:\windows\system32\inetsrv\browscap.ini on XP.
جنانجه پس از نصب
PHP فايلهاى شما در شناختن variable ها مشكل داشتيد در فايل php.ini پارامتر register_globals را از off به on تغيير دهيد
سپس در
IIS در قسمت

Home Directory > configuration > App Mappings :

Executable : C:\WINNT\system\php4isapi.dll
Extension : .php
را اضافه كنيد در قسمت
ISAPI نيز

Filter Name : php
Executable : C:\WINNT\system\php4isapi.dll


پس از يك بار
stop / start كردن IIS شما مىتوانيد PHP را بر روى PC خود اجرا كنيد .

منبع :Iranphp.net

شيطان
ادامه نوشته

گل اختر
ادامه نوشته

کاشت چغندر و توسعه اقتصاد مورمون در رشته کوه های غرب
ادامه نوشته

مقدمه ای بر هوش

ادامه نوشته

زندگينامه حضرت مهدي(ع)

ادامه نوشته

زندگی نامه امام حسن عسکری همراه چند روایت از حضرت:

ادامه نوشته

زندگینامه حضرت امام علي النقي عليه السلام

ادامه نوشته

زندگینامه حضرت امام محمد تقي عليه السلام                                                       

ادامه نوشته

زندگینامه امام علی بن موسی الرضا (علیه السلام)

ادامه نوشته

زندگینامه حضرت امام موسي كاظم عليه السلام       

ادامه نوشته

زندگينامه امام ششم امام جعفر صادق (ع)

ادامه نوشته

زندگینامه امام محمد باقر(ع)

ادامه نوشته

زندگینامه حضرت امام سجاد عليه السلام

ادامه نوشته

زندگينامه امام حسين (ع)

ادامه نوشته

امام حسن مجتبی

در باره زندگی نامه امام حسن مجتبی « علیه السلام »

ادامه نوشته

زندگی نامه امام علی (ع

زندگی نامه امام علی (ع)

حضرت علي(ع) فرزند ابوطالب ده سال پيش از بعثت متولد شد و پس از شش سال در اثر قحطي که در مکه اتفاق افتاد بنا به در خواست پيغمبر اکرم (ص) از خانه پدر به خانه پسر عموي خود يعني پيامبر منتقل گرديد و تحت سرپرستي و پرورش مستقيم آن حضرت درآمد. پس از چند سال که پيغمبر اکرم (ص) به موهبت نبوت نايل شد و براي نخستين بار در (غار حرا) وحي آسماني به وي رسيد وقتي که از غار رهسپار شهر و خانه خود شد , شرح حال را فرمود ,  علي (ع) به آن حضرت ايمان آورد و باز در مجلسي که پيغمبر اکرم (ص) خويشاوندان نزديک خود را جمع و به دين خود دعوت نموده فرمود:

ادامه نوشته

والیبا

تاريخچه والیبال واليبال در سال 1895 ميلادي مطابق با سال

ادامه نوشته