تبلیغات
نسل امروز - آموزش گام به گام زبانphp
  لوگوی وبلاگ

  


 

منوی استارت

ایمیل به مدیر

آی دی یاهو!

خبرنامه

لینكدونی

لینكستان

 

 نمایشگر بنر وبلاگ takupu - خوش آمدید  


  جستجو در وبلاگ

 


 آموزش گام به گام زبانphp   پنهان كردن مطلب - غیر فعال تمام صفحه كردن - غیر فعال 
    صفحه نخست      آموزش ,    () نظرات   
 Address  /post/79

  ادامه مطلب

   


  نویسنده مطلب

سین جیم    


  تاریخ


   ارسال :

 1387/05/26

 ساعت 10:08

   ویرایش :

 -

 ساعت -


 از سایت Ashyaneeh قبل از هر چیز یه نگاه كوتاه و جزئی بر تاریخچه php می كنیم. نویسنده php اولین بار این زبان رو برای كار های شخصی خودش و اثری برای Resume كاریش كه باید تحویل می داده نوشته بوده. اولین بار این زبان بصورت یك CGI در زبان Perl نوشته شده بود. ولی سروری كه روش php نصب شده بود یكسری مشكل در اجرای صفحات داشت. به همین دلیل php رو دوباره بازنویسی كرد و با زبان ‍C نوشت
 از سایت Ashyaneeh قبل از هر چیز یه نگاه كوتاه و جزئی بر تاریخچه php می كنیم. نویسنده php اولین بار این زبان رو برای كار های شخصی خودش و اثری برای Resume كاریش كه باید تحویل می داده نوشته بوده. اولین بار این زبان بصورت یك CGI در زبان Perl نوشته شده بود. ولی سروری كه روش php نصب شده بود یكسری مشكل در اجرای صفحات داشت. به همین دلیل php رو دوباره بازنویسی كرد و با زبان ‍C نوشت. در همین اثنا بعضی از كاربران سرور مربوطه هم شروع به كار با نسخه نوشته شده و درخواست به افزودن feature های بیشتر كردند. این روال ادامه پیدا كرد تا اولین نسخه جمع و جور شده php رو همراه با راهنما، Mailing-List و FAQ بیرون داد. اولین نام این زبان Personal Home Page Tools بوده كه در آینده به Personal Home Page Construction Kit تغییر كرد. در همین مدت كه داشت php پامی گرفت نویسنده اون شروع به نوشتن یه CGI دیگه برای كاركردن با بانك های اطلاعاتی و ارسال SQL Query كرد. خوب بقیه تارخچه باشه برای بعد حالا به خود php بپردازیم ;-). قبل از هرچیز پیشنهاد می كنم ادیتور یا بهتر بگم IDE پرقدرت Zend رو دریافت كنید. واقعا كارتون رو در كد نویسی راحت میكنه و همون جا هم می تونید اجراش كنید. خوب تا الان نصب php رو گفتیم و گفتیم كه 2 جور php رو میشه نصب كرد. یكی بصورت CGI و دیگری بصورت یك Module برای سرورتون. مطلبی كه جاش بود ذكر كنم یه توضیح كوچكی برای فرق این دو بود.زمانی كه php بصورت یك CGI برروی سرور نصب میشه، هرگاه كه سرور به فایل های php بر می خوره php رو اجرا میكنه و این فایل رو بهش ارسال میكنه. ولی وقتی بصورت Module برای سرور نصب میشه، php جزئی از خود سرور میشه و زمانی كه سرور شروع به كار میكنه همیشه هست و منتظر صفحات و اجراشون هست. طبیعتا معلومه كه نصب بصورت Module بهتر از نصب بصورت CGI هست. چون اگر بصورت CGI نصب بشه با هر Request باید php اجرا بشه و بعد هم بسته بشه! البته وقتی php بصورت Module نصب میشه به این معنی نیست كه از CGI دیگه نشه استفاده كرد. یه موقع ها میشه كه ما لازم داریم بصورت CGI از php استفاده كنیم. به عنوان مثال می خواهیم سرور ما هر هفته توسط یكی از اسكریپت های نوشته شده ما از Database ما یك Backup بگیره. برای انجام این منظور ما اسكریپت رو بصورت جداگانه و CGI اجراش می كنیم

 خیلی حاشیه رفتم، حالا بیایم سر اصل مطلب. اسكریپت های نوشته شده php همگی باید در فایل های متنی ساده ویا به عبارتی بهتر بصورت UNIX-Style نوشته شوند. به عنوان مثال یك فایل php هیچ وقت نباید با Word Pad یا MS-Word ساخته شود! چون موقع اجرا php رو دچار مشكل میكنه. در محیط Windows ساده ترین ادیتور برای انجام اینكار Note-Pad هست. اگر از ویندوز 2000 یا XP استفاده می كنید كه چه بهتر چون می تونید به راحتی یك فایل php و با كدپیج Unicode ذخیره كنید. فایل های php معمولا از پسوند php. تشكیل می شوند. زمانی كه browser شما یك درخواست به سرور شما میفرستد برای مشاهده یك فایل php، سرور شما فایل مربوطه رو به php Engine میفرسته تا فایل اجرا بشه. كار php Engine اجرای فایل php شما و ارسال نتیجه بصورت HTML به browser شما هست. php یك زبان اسكریپت نویسی سمت سرور است. یعنی اسكریپت شما در سرور اجرا شده و نتیجه برای شما ارسال می شود. دستورات php رو میشه به طرق مختلف نوشت. در اینجا به چند صورتش اشاره می كنم. بصورت SGML < ? ... ? > بصورت XML < ? php ... ? > بصورت اسكریپت های نوشته شده در فایل های HTML < script language="php" > ... < /script > بصورت تگ های ASP، البته در این حالت باید در فایل php.ini تعریف كنید كه این حالت رو بشناسه. برای اینكار asp_tags =off رو به on تغییر بدید. یادتون نره Apache یاهر سروری كه دارید رو restart كنید یا تغییرات رو مشاهده كنید. نحوه نوشتن ASP Style هم اینگونه هست: < % ... % > من توی نوشته هام فقط بصورت XML می نویسم. مابین این تگ ها هر چند تا دستور كه بخواهیم می تونیم بنویسیم. هر دستوری كه تموم میشه باید بعدش این علامت رو بزاریم ";" هرگاه Engine زبان php به این ویرگول نقطه دار رسید فرض میكنه كه دستور شما تموم شده. اگر در آخر هر دستور خود اینو نزارید برنامتون با مشكل برمیخوره. در اینجا یك مثال می زنم كه نمایانگر پایان یك دستور هست. < ? php echo ( 14 * 5); ? > این عبارت دقیقا مساوی این عبارت هست: < ?php echo ( 14 * 5 ); ? > php تا زمانی كه به ";" نرسه دستور رو تموم شده فرض نمیكنه. هردوی این عبارات حاصل ضرب 14 در 5 رو برروی صفحه نشون می دهند. گاهی اوقات میشه كه ما می خواهیم خطی یا خطوطی رو در فایل php خود غیر فعال كنیم تا اجرا نشن. یا گاهی اوقات هست كه ما می خواهیم در كد های خود مطلبی رو بنویسیم. مثلا می خواهیم بگیم این كد فلان كار رو انجام میده. این كار رو می توان به 3 صورت انجام داد. راحت ترین راه برای انجام این كار گذاشتن 2 تا slash " //" در آغاز هر خط است. به عنوان مثال ما می خواهیم یه نوشته روی صفحه نمایش بدیم و در خود كد هم می خواهیم توضیح بدیم كه این چیه: < ? php echo ( 14 * 5); // This will show the result of 14 times 5 ? > اگر // رو در اول خط میزاشتیم، این دستور دیگه اجرا نمیشد و به اصطلاح Ignore میشد. به جای // می توان از # هم استفاده كرد. ولی گاهی اوقات هست كه شما می خواهید چند خط رو غیر فعال كنید. برای انجام این كار نوشته هارو داخل /* ...*/ قرار می دهیم. به عنوان مثال هر اسكریپتی كه نوشته میشه، در آغاز فایل یه توضیح كوتاهی از اسكریپت نوشته شده، می نویسند. < ?php /* This script will encrypt your string using function md5()*/ ? > به همین روال اگر شما یكسری كد جای این نوشته ها قرار بدید، كد های شما Igone میشن و اجرا نمیشن. خوب حالا بپردازیم به نحوه نمایش عبارات برروی صفحه! نوشته های متنی و عبارات متنی رو میشه به 3 مدل نوشت و نمایش داد. نحوه اول بصورت double quote هست. اگر شما نوشته های خود رو درون "..." قرار بدهید، زمان اجرا، php متن شمارو تا تگ های HTML و متغیر های استفاده شما رو پیدا كنه و نتیجه رو برروی صفحه نشون بده. در زبان php نوشته های ما توسط دستور echo نمایش داده می شوند. به این مثال برای نمایش متن هایی كه درون double quote هستند دقت كنید. < ?php echo ("salam"; ? > در این مثال چون كلمه salam بین تگ های [ b ] هست بصورت bold یا توپور نمایش داده میشه. بنابراین نتیجه salam می باشد. در ادمه نوشته می بینید كه اگر یك متغیر هم نامش دورن "..." قرار داده شده باشده، مقدار یا ارزش اون در صفحه نشون داده میشه. نحوه بعدی نمایش عبارات، بصورت single quote هست. یعنی نوشته های ما میان '...' قرار می گیرند. وقتی نوشته های شما میان '...' قرار بگیرند، دیگه توسط php مورد بررسی قرار داده نمیشه كه آیا متغیری میانشون هست یا نه: < ?php echo ('salam'); ? > حاصل این دستور عبارت salam درست مانند قبلی برروی صفحه است. ولی اگر ما متغیری در این نوشته قرار بدیم، مقدار و ارزشش نشون داده نمیشه و فقط اسمش نشون داده میشه. آخرین روش برای نمایش عبارات استفاده از Here Document است كه من تا حالا زیاد ندیدم جایی استفاده داشته باشه. در این روش هم اگر شما از دستورات html استفاده كنید، نوشته های شما برروی صفحه به همان صورت نشون داده می شوند. به عنوان مثال: < ?php $hereText=<< salam khoobi? chetori? end_delimiter; echo " "; echo($hereText); ? > در متغیر hereTex$ ما این نوشته هارو ذخیره می كنیم. هنگام نمایش برروی صفحه ما این نتایج رو میگیریم: salam khoobi?chetori? كلا زیاد از Here Document استفاده نمیشه. اعداد رو هم میشه بصورت عددی كه هستند نمایش بدیم و هم بصورت مقادیر آن ها در سیستم های Octal و Hexa. به عنوان مثال این عبارات همگی عدد 110 رو نشون می دهند: < ? php echo (110); echo (0x6e); echo (0377); ? > برای نمایش اعداد Hexadecimal باید در شروع آن 0x و برای نمایش اعداد Octal باید درشورع آنها یك صفر قرار دهیم. یه زنگ تفریح ;-). برای تبدیل اعداد از عدد معمولی به سیستم Hexa از تابع ()dechex و برای تبدیل از عدد معمولی به سیستم Octal از تابع ()decoct استفاده می كنیم. همین روال رو برای تبدیل از hexa به decimal و octal به decimal میشه انجام داد با توابع ()hexdec و ()octdec. در برنامه نویسی ما همیشه با مقداری به نام بولین (Boolean) سروكار داریم. متغیری كه از نوع بولین تعریف میشه یا مقدار True میگیره یا False. میشه اینو به یه چراغ تشبیه كرد. یه چراغ یا خاموشه یا روشن. وقتی روشنه True هست وقتی هم كه خاموش هست False. php هم مانند تمامی زبان های برنامه نویسی دیگه از انواع مختلف متغیر ها پشتیبانی می كنه. در این زبان متغیر ها با علامت $ نامشون شروع میشه. به عنوان مثال اگر ما بخواهیم متغیری داشته باشیم كه درونش نامی رو نگهداری كنیم می تونیم name$ تعر& عملگرهای string: اولین چیزی كه باید بگم این هست كه دستور echo از ادامه نوشته شما، نوشته ای رو نشون میده. دقیقا همانند كد های HTML. تا شما از استفاده نكنید، خط شما عوض نمیشه و به خط بعدی نمیره. echo هم كارش نمایش تمامی نوشته های شما همراه با تگ های html شما هست. مهمترین عملگری كه برای رشته های متنی (string ها) به كار میره، كاراكتر نقطه (.) هست. این كاراكتر رشته های متنی رو به هم وصل میكنه. به این عملگر Dot Operator میگن. به عنوان مثال شما می خواهید هركس كه وارد سیستم كاربری سایت شما میشه بهش یه خوش آمد گویی همراه نامش گفته بشه. فرض می كنیم در متغیر UserName$ نام كاربر قرار می گیره و در مقدار ثابت WELCOME هم عبارت " ,Welcome to our site" قرار میگیره. بنابر این ما باید عبارت خوش آمد رو به نام كاربر وصل كنیم. به مثال زیر برای انجام این كار دقت كنید: < ?php define("WELCOME","Welcome to our site, "; $UserName = "Milad"; echo WELCOME . $UserName; ? > وقتی برنامه ما اجرا میشه عبارت Welcome to our site, Milad برروی صفحه نمایش داده میشه. بخاطر داشته باشید كه مقدار های ثابت رو اگر در "..." قرار دهید، php مانند متغیر ها به آنها رجوع نمیكنه. مثال بالا رو برای متغیر ها هم صدق میكنه، به این معنا كه ما چند متغیر داشته باشیم و همه رو بصورت رشته ای به یكدیگر وصل كنیم. به عنوان مثال در برنامه ما اسم مردم در 3 تا متغیر ثبت میشه، بصورت FirstName$ و MiddleName$ و LastName$. حالا می می خواهیم متغیری درست كنیم به نام Compeltename$ و توش هر 3 این متغیر ها رو به یكدیگر وصل كنیم: < ?php $FirstName = "Milad"; $MiddleName = "farid"; $LastName = "Sina"; /*---------------------*/ $CompleteName = $FirstName." ".$MiddleName." ".$LastName; echo $CompleteName; ? > در اینجا توسط نقطه، همون عملگر Dot Operator این 3 متغیر رو به یكدیگر وصل می كنم. همچنین چون می خوام بین كلمات فاصله باشه، فاصله هم به این صورت" " بینشون می دهم. خروجی برنامه Milad farid Sina خواهد بود. اگر اون فاصله هارو نمی دادم و دستور رو مانند زیر می نوشتم در این صورت خروجی برنامه عبارت MiladfaridSina بود. $CompleteName = $FirstName . $MiddleName . $LastName; حالا جاش هست بعضی از توابعی كه برای كاربا String ها خیلی به كارمون میاد رو بگیم. در این نوشته به Reqular Expression ها نمی پردازم چون جاش نیست، ولی در آینده بهشون می رسیم. تابع ()substr: string substr ( string string, int start [, int length]) كار این تابع جداكردن قسمتی از متن ما می باشد. به این صورت كه این تابع رشته متنی را می گیرد و می تواند قسمتی از متن رو برای ما جدا كنه. این تابع 3 تا پارامتر میگیره. پارامتر اول رشته متن اولیه می باشد، پارامتر دوم Position حرفی هست كه می خواهیم از اون به بعد جدا كنیم و پارامتر سوم هم طول رشته متنی هست كه می خواهیم جدا بشه. اگر پارامتر سوم رو مشخص نكنیم این تابع ادامه متن رو برامون جدا می كنه. شاید یكم بد توضیح داده باشم ولی توی مثال خوب جا می افته: نتیجه دستور m4s.net (از حرف 4 به بعد در متغیر result$ ذخیره می شود) $result = substr("www.m4s.net",4); m4s (از حرف 4 به بعد 3 حرف در متغیر result$ دخیره می شود) $result = substr("www.m4s.net",4,3); تابع ()strpos int strpos ( string haystack, string needle [, int offset]) كار این تابع دقیقا برعكس تابع ()substr می باشد. یعنی شما یك عبارتی رو در متنی جستجو می كنید و تابع به شما Position اولین حرف رو میده. این تابع اولین نتیجه ای كه پیدا میكنه رو نشون میده بنابر این اگر عین همون عبارت رو بازم داشته باشید نشون نخواهد داد. این تابع 3 تا پارامتر میگیره. پارامتر اول رشته متن اولیه ما می باشد. پارامتر دوم عبارتی هست كه در رشته متن پیدا میشه. به خاطر داشته باشید كه اگر عبارت پیدا نشد تابع مقدار False به ما برمیگردونه! و اما پارامتر سوم برای شروع جستجو می باشد. اگر عددی را مشخص نكنید از اول رشته متنی عبارتی جستجو میشه و اگر عددی رو مشخص كنید، از اون Position به بعد جستجو انجام میشه. به مثال های زیر دقت كنید نتیجه دستور عدد 4 در متغیر result$ ذخیره می شود. از حرف 4 به بعد عبارت m4s شروع می شود $result = strpos("www.m4s.net","m4s"; عدد 3 در متغیر result$ ذخیره می شود. چون بعد از حرف 4، عبارت ما یافت شده $result = strpos("www.m4s.net","."; عدد 7 در متغیر result$ ذخیره می شود. از حرف 5 به بعد شروع میشه به جستجوی برای پیدا كردن ".". Position نقطه بعد از حرف 7 می باشد. $result = strpos("www.m4s.net",".",5); تابع ()trim كار این تابع حذف تمامی فواصل آغاز و پایان رشته متنی می باشد. به عنوان مثال اگر ما چنین رشته متنی داشته باشیم " Milad "، این تابع تمامی فاصله های آغاز و پایان رشته رو حذف میكنه. به عنوان مثال: < ?php $name = " Milad "; $name =trim($name); ? > در این مثال اول در متغیر name$ عبارت " Milad " رو ذخیره كردیم، سپس توسط تابع ()trim تمامی فاصله های اضافه حذف كردیم و دوباره در متغیر name$ ذخیرش كردیم. توابع ()char و ()ord تابع ()char كد ASCII حرفی را میگرد و حرف مربوطه رو بر میگردونه. و تابع ()ord هم دقیقا بر عكس همین كار رو انجام میده. یعنی كه حرف رو میگره و كد اسكی اون رو برای ما بر می گردونه: < ?php echo ord("©"; echo chr(169); ? > عبارت اول كد اسكی © كه همون 169 هست رو نشون میده، و عبارت دوم هم حرف مربوطه به كد 169 كه همون علامت© رو نشون میده. تابع ()strlen كار این تابع برگردوندن طول یك رشته متنی می باشد. به عنوان مثال اگر عبارت "M4S.Net" رو به این تابع بدهیم، تابع به ما عدد 7 رو بر می گردونه. یه مثال دیگه هم نوشتم: < ?php echo strlen("www.m4s.net"; ? > وقتی این اسكریپت اجرا میشه، عدد 11 خروجی برنامه می باشد. چند تا تابع دیگه هم هست كه جا داشت بگم ولی یكم مبحث رو پیچیده می كرد، به یاری خدا در بخش دیگه ای از سات كه در نظر دارم، بهشون می پردازم. خوب تا اینجای كار یكسری از مسایل بسیار پایه ای php رو گفتیم. در نوشته های آینده بیشتر با این زبان آشنا خواهید شد. اگر هرگونه سوال یا مشكلی داشتید در قسمت گفتگوی سایت در انجمن php مطرح كنید. لطفا به عنوان پیغام شخصی نپرسید، چون شاید سوال شما، سوال فرد دیگه هم باشه. http://iritn.com/index.php?action=show&type=news&id=5338 

 


 
 takupu    
  صفحات وبلاگ

  


  مطالب پیشین

  طرح درس جغرافیا پنجم

  کارت شارژ 5000 تومانی

  دانلود نرم افزار

  معرفی نرم افزار

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

  کسب درامد وبلاگ و سایت 500000

  کسب درامد وبلاگ و سایت 500000

  کسب درامد وبلاگ و سایت 500000

  پیدا کردن Key های معتبر برای کاسپراسکی با Kaspersky Key finder

   آبان ۰۸ اجرای برنامه های موبایل در کامپیوتر با Midp2Exe 1.3.1

  Smart PC Professional V5.4 ابزاری برای عیب یابی و رفع مشکلات سیستم عامل ویندوز

  مجموعه عظیم آموزشی 3D Studio Max 2009 شرکت Gnomon - بیش از 70 ساعت آموزش جامع و حرفه ای همراه با برترین پلاگین ها ! ::

  GetData ExplorerView v4.4.0.949 نرم افزاری قدرتمند در زمینه مدیریت بر فایل ها ::

  3D World Atlas 2008 ابزاری کامل برای شناسایی نقاط مختلف دنیا به وسیله این اطلس

  AVG Internet Security v8.0.169 نرم افزاری قدرتمند برای حفاظت از سیستم ها


  محل درج پیام های زیبای شما

 پایین

توقف

بالا  

 

  پنجره تبلیغات
mi118.com
   

  خروج از وبلاگ