برترین مقالات کامپیوتر

برترین مقالات کامپیوتر

برترین مقالات کامپیوتر

برترین مقالات کامپیوتر

نصب و پیکر بندی (قسمت اول) ( درس سوم )

PHP ؟

اولین چیزی که می خواهم در موردش توضیح دهم این است که به چه علتی ما از PHP استفـاده می کنیم؟ PHP در مقایسه با تکنولوژی های مشــابه سریعتر بهتر و آسانتر است. از جمله تکنولوژی هــای مشابه برای طراحی یک سایت وب می توان به این موارد اشاره کرد :

اسکریپت های Common Gateway interface) CGI) که معمولا به زبان Perl نوشته می شوند و ASP .

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

شاید یک سوال برای شما به وجود بیاد که چــــرا یک طراح وب بهتر است که از زبان PHP به جای زبانهــای مانند CGI و ASP و یا JSP برای طراحی سـایت دینــــــــامیک استفاده کند؟

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

دومین دلیل این است که PHP به صورت اختصاصی تنها برای ایجاد صفحـــــــــــــــات دینامیک طراحی شده است. امـــا Perl و VbScript و یا Java اینگونه نیستند و به همین دلیل PHP سریعتر و ساده تر از تکنولوژی های جایگزین می باشد.

نصب و پیکر بندی (قسمت اول)

می خواهیم در مورد نصب و پیکر بندی php بر روی دو سیستم عــــامل linux و Windows توضیح بدم.

اولین چیزی که باید بهش بپردازیم این است که ما از چه نوع سیستم عــــــــــاملی استفاده می کنیم یعنی سیستم عاملی که ما از استفاده می کنیم قــابلیت نصب php رو داره ؟ یا نه؟

من تو درسهای قبلی این مسئله رو توضیح دادم و گفتم که php روی چــه سیستم عامل های کار می کنه و نصب میشه. حالا ما می خواهیم یاد بگیرییم که چطــوری می توانیم برنامه هایی که به زبان php می نویسیم رو اول رو سیستم خودمــــــون تست و اجرا کنیم و بعد اون رو منتقل کنیم به یک سیستم دیگه که احتمالا همـــون سرور است.

اولین کاری که باید انجام بدیم اینکه از یک نرم افزاری استفاده کنیم که قـابلیت این رو داشته باشه که سیستم ما رو به یک وب سرور تبدیل کنه!

اول روش اجرای php رو بــــــــــــروی Windows آموزش خواهم داد بعد از اون در مورد Linux هم صحبت می کنیم! برای اینکه بتونیم سیستم عامل ویندوز pc خودتون رو به یک وب سرور که بتونـــه php رو پشتیبانی کنه تبدیل کنید 3 راه وجود داره!

" اگر شما با ویندوزی غیر از XP یا NT یـــا 2000 کار می کنید باید از راه اول استفاده کنید و اگر نه باید از راه دوم استفاده کنید راه سوم رو هم می شه بـــــــروی تمامی ویندوز ها استفاده کرد فقط یک نکته کـــــــه باید روی ویندوز نسخه های XP یا NT یا 2000 - IIS رو غیر فعال کنید که بتوانید استفاده کنید! "

ابتدا راه دوم رو توضیح میدم که روش استاندارد استفـــــاده از php در windows می باشد. ما در این روش از IIS استفاده می کنیم. IIS مخفف (Internet Information Server) می باشد که با کمک آن می توان سرویس هایی از قبیل www و همچنین ftp که مربوط به دریافت فایل می شود و همچنین چندین سرویس دیگر را استفــاده کرد که البته خارج از بحث ما هست. IIS در حال حاضر در دو نسخه پرکاربرد 4 بــرای ویندوز NT و 5 برای ویندوز های XP و 2000 وجود دارد. حالا می خــواهیم روش نصب IIS رو توضیح بدم این روش نصب IIS در ویندوز های XP و NT و 2000 تقریبــــا به یک شکل می باشد و می تونید با یاد گرفتن یکی از اونها IIS رو در ویندوز هــای مختلف نصب کنید.

برای نصب IIS ابتدا باید از منوی START گزینه Settings و در نهـــایت گزینه Control Panel را انتخاب کنید تا پنجره موسوم به کنتر پنل باز شود سپس از پنجـــــره کنترل پنل گزینه Add or Remove Programs را انتخاب کرده و آن را اجرا نمایید بعد از بــــاز شدن پنجره Add or Remove Programs از کلید های سمت چپ گـزینه Add/Remove Windows Components را انتخاب کرده و بعد از اندکی صبر پنجـــــــره Windows Components Wizard باز میشود بعد از باز شدن از کـــــادر Components گیزینه Internet Information Server(IIS) را چک دار کنید.

توجه : چنان چه رنگ زمینه Chek Box گزینه فوق تیره بود بدین مفهوم است که زیر گروه های این گزینه غیر فعال می باشد و باید چک دار شوند برای چک دار کردن آنها باید بروی آن گزینه دوبار کلیک کرده و از پنجره ای که باز خواهد شد گزینه هایی کــه فعال نمی باشد فعال نمایید تا کلیه سرویس های یا زیرگروه های به طور کـــــــــامل انتخاب و نصب شود.

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

توجه: چنان چه گزینه ای را فعال کرده باشید در این مرحلــــــــــه احتیاج به CD نصب ویندوز مورد نظر خواهید داشت یا اگر فایل هــــــــــای نصبی ویندوز را بروی سیستم خودتون داشته باشید به اون احتیاج پیدا خواهید کرد چون باید فـــایل های مربوط به پیکربندی IIS را از CD و یا Hard Disck خوانده شود و بر روی سیستم شمـــــا کپی گردد.

بعد از اتمام این مرحله ‚ نصب به مرحله پایانی خواهد رسید و در این قسمت شما باید دکمه Finish را فشار داده و بعد از اندکی صبر هم اکنون IIS بـــــر روی سیستم شما نصب می باشد و شما می توانید از آن استفاده کنید.

خوب حالا بعد از نصب IIS شما باید IIS رو پیکربندی کنید که بتونید از اون استفـاده کنید. برای پیکر بندی IIS شما باید به Control Panel رفته و گـــزینه Administrative Tools را انتخاب کرده و از پنجره Administrative Tools گزینه Internet Information Server را انتخاب کرده و بعد از اجرای این برنامه گزینه های مربوط به پیکـــربندی IIS در پیش روی شماست و شما می توانید IIS خود را منطبق بر میل خود پیکـــربندی کنید. ( چون پیکربندی IIS خارج از بحث مـــاست پس از توضیح در مورد اون خوداری می کنم چناچه سئوالی در این مورد داشتید می تونید به من ایمیل بزنید )

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

برای نصب PHP ابتدا باید نسخه مورد نظر PHP را تهیه کنید و ترجیحا از آخـــرین نسخه این نرم افزار استفــاده کنید که نسخه 4.3 این نرم افزار می باشد که می توانید از اینجا دریافت کنید.

بعد از دریافت نسخه مورد نظر شما باید مراحل زیر را برای نصب دنبال کنید. ابتدا بر روی فایل اجرایی PHP کلیک کرده و آن را اجرا نمایید(معمولا فایل اجرایی PHP با نـام php-4.3.0-installer می باشد)

بعد از باز شدن پنجره php 4.3.0 installation بعد از کمی صبر پنجره Welcome بـــاز خواهد شد. سپس دکمه Next را فشار دهید تا به مرحله بعدی Wizard کنتـــــــــرل انتقال یابد.

بعد از فشار دکمه Next پنجره License Agreement باز خواهد شد در این پنجره باید دکمه I Agree را انتخاب کنید تا موافقت نامه PHP مورد تایید شما قرار گیرد.

بعد از تایید پنجره Installation Type را خواهید دید کــه دارای دو گزینه Standard و Advanced می باشد که شما گزینه Advanced را چک دار کنید (البته لازم به ذکــر است که در موقعی که شما گزینه Advanced را انتخاب می کنید تنظیمــــات پیکربندی بیشتری نسبت به گزینه استاندارد در اختیار دارید!)

بعد از فشار دادن دکمه Next پنجـــــــره موسوم به Choose Destination Lovation را مشاهده خواهید کرد که در این پنجره می توانید مسیر نصب فــــایل های PHP را مشخص کنید.

با فشار دادن دکمه Next پنجره Backup Replaced Files را مشاهـده خواهید کرد که شما در این پنجره می توانید محل قرار گیری فایل های Back up را مشخص کنید. همچنین می توانید به PHP بگویید آیا برای فایل های شما Back up تهیه کند یـــــــا خیر؟

بعد از فشار دادن دکمه Next پنجره Choose Upload Temporary Directory نمــایش داده خواهد شد که در این اینجا محل قرار گیری فایلهای موقتی که برای اجرای برنامه های PHP به آن احتیاج دارد مشخص می شود.

با فشار دکمه Next پنجره Choose Session Save Directory باز خواهد شد که شما می توانید محل ذخیره کردن متغییر های Session (در درسهای بعد توضیح خواهــم داد) را مشخص کنید.

بعد از فشار دکمه Next پنجره Mail Configuration باز خواهد شد که شمــــــــــا باید تنظیمات مربوط به Smtp Server و ایمیل آدرس پیش فرض را وارد کنید (در صورتی که به این گزینه آشنایی ندارید می توانید تنضیمات پیش فرض را قبول کــرده و بدون اعمال تغییرات کلید Next را فشار دهید )

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

سپس با فشار دکمه Next پنجره Server Type رو مشاهده خواهید کـــــــــرد در این پنجره شما باید نوع Web server سیستم خودتون رو به PHP معرفـی کنید در این جا شما باید گزینه Microsoft IIS 4 or Higher رو انتخاب نمایید چون از ویندوز هــای XP و NT و 2000 استفاده می کنید .

بعد از فشار دکمه Next به پنجره File Extensions خـــواهید رسید که در این قسمت شما امکان این را خواهید داشت که برای WebServer خودتون مشخص کنید کــــــه چه نوع فایلهای را برای اجرا اسکریپت های PHP در نظـــــر بگیرد.(در این مرحله بهتر است تمام 3 گزینه را انتخاب کنید.)

بعد از فشار دادن کلید Next ‚ پنجره Start Installation باز خواهد شد که از شمــــــا اجازه نصب PHP و کپی کردن فایل های رو روی سیستم شما را خواستار است کــه شما با فشار کلید Next به اون این اجازه رو خواهید داد.

بعد از این کار پنجره مربوط به Installing باز خواهد شد که شما از عمل کــــــرد کپی فایل ها مطلع خواهید شد. بعد از اتمام این مرحله چنان چه فایل "php.ini" قبـلا در دایرکتوری System32 شما وجود داشته باشد پیغامی مبنی بر اینکه این فایل قبـــلا وجود دارد و شما چنانچه مایل هستید این فایل پاک شود و نسخه جدید فـــــــایل را جایگزین کند که گزینه ok را برای تایید کلیک کنید.(توجه داشته باشید این گـزینه در صورتی نمایش داده می شود که فایل مورد نظر وجود داشته باشد)

بعد از اتمام این مراحل پنجره IIS Scripttamp Node Selection را مشــاهده خواهید کرد که شما باید در این قسمت کلید Select All را فشار داد و دکمه ok را بزنید.

در اینجا نصب PHP به پایان رسید و با پیغام تبریک و موفقیت شمـا در نصب PHP مواجه خواهید شد و با فشارداد کلید Ok آن را تایید کنید. امید به خــــــدا در روزهای بعد نصب php در windows های 98 و ME و ... را توضیح خواهم داد. همچنین کـــــار با PWS و Eesy PHP را نیز یاد خواهید گرفت. پس با ما باشید.

PHP چگونه کار میکند ؟ ( درس دوم )

خوب از حالا به بعد یکم بحث را تخصصی تر کنیم ! در ادامــــــه می خواهیم در مورد این صحبت کنیم که : PHP چگونه کار می کند؟ و ما چطوری می توانیم برنامه های PHP رو اجرا کنیم و به چیزهای احتیاج داریم؟

همان طور که میدانید PHP یک زبان سمت سرویس گیرنده است! و این بدان معنی است که کدهای نوشته شده به این زبان در کامپیوتر میزبان (Host) صفحــــــات وب قرار می گیرد. برای مثال وقتی که شما به سایت وب www.php.com می روید ISP (Internet Servise Provider) شما در خواست (Request) شمـــــــــــا را به سرویس دهنده ای که اطلاعت این سایت را نگهداری می کند ارسال می کند. در این هنگام سرویس دهنده بعد از خواندن کدهای PHP آنهــــا را پردازش می کند . برای مثال در این مورد PHP به سرویس دهنده فرمان می دهد که اطلاعــــات یک صفحه وب را به صورت برچسبهای HTML به مرورگر شما منتقل کند بنابراین PHP یک صفحه HTML را تولید می کند. این حالت با هنگامی که صفحه ار ابتدا با کدهـــای HTML طراحی شده باشد تفاوت دارد در حالت دوم تنها یک درخواست به سرویس دهنده ارســــال می شود و سرویس دهنده نیز اطلات HTML موجود را به مرورگر کــــــــــــاربر منتقل می کند بنابراین برای مرورگر کاربر تفـاوتی بین home.html و home.php وجود ندارد اما تفاوت عمده ای بین این دو حالت وجود دارد و آن این است که در حــــــــــالت اول صفحه بصورت دینامیک توسط سرویس دهنده تولید شده است ولی در حـــالت دوم به صورت بدین صورت نیست و ممکن است برای مثال تفاوتی بین اینکه کــــاربر قبلا این صفحه را بازدید کرده یا برای بار اول است که بازدید می کند وجود داشته باشد. پس هر آنچه PHP انجام می دهد در همان سمت سرویس دهنده انجام می دهد و سپس اطلاعات مناسب را به سرویس گیرنده منتقل می کند. مهمترین نیــــاز برای کار با PHP دسترسی به سرویس دهنده ای می باشد که PHP را پشتیبانی کند.

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

برای مطمئن شدن در این مورد که آیا سرویس دهنده شمــــــــــــا از PHP استفــاده می کند یا نه می توانید گوشی تلفن رو بردارید شماره آنها رو بگیرید و از ایشــــــان سئوال کنید :))

در ادامه در مورد اینکه چطوری می توانید سیستم خودتان را به یک سرویس دهنده تبدیل کنید و چطوری می توانید سرویس دهنده ای را که خودتـان راه انداخته اید به PHP مجهز کنید توضیح خواهم داد.

برای اینکــــــــــه شما سیستم خودتان را به یک سرویس دهنده تبدیل کنید اول باید مطمئن شدید که آیا سیستم عاملی که از آن استفــاده می کنید قدرت این را دارد که به یک سرویس دهنده تبدیل شود یا نه؟ منظورم این است که آیا این نسخــه از سیستم عامل شما قابلیت تبدیل شدن به یک Web Server رو داراست یا نه ؟ تا جایی که من اطلاعات دارم سیستم عامل های که PHP می تواند روی آنهـــــا نصب گردد عبارتند از : Unix,Windows, Macintosh , Os/2 Linux

البته بحث ما بیشتر پیرامون دو سیستم عاملخواهد بود: Linux و Windows .

در درسهای بعدی منتظر این باشید که چگونه می توانید سیستم خودتـان را به یک Web Serve تبدیل کنید و چطـــــــــوری می توانید آن رو پیکر بندی کنید که از PHP پشتیبانی کند! پس با ما باشید....

PHP چیست ؟ ( درس اول )

PHP سال 1994 توسط Rasmus Lerdorf ایجاد شد و مخفف واژگان Personal Home Pages به حساب می آید. با گسترش قابلیت ها و موارد استفاده این زبان PHP در معنای Hypertext Preprocessor به کار گرفته شد. عبارت پیش پردازشگر (Preprocessor) بدین معنی است که PHP اطلاعات را قبل از تبدیل به زبان Html پردازش می کند.

مطابق مطالب سایت وب رسمی PHP که در آدرس http://www.php.net قرار دارد، PHP زبان اسکریپتی سمت سرویس دهنده

 Html Embeded , Cross-Platform ,(Server-side)

 می باشد.

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

چگونگی ادامه این روند را در درس های آتی توضیح داده خواهد شد.

منظور از Cross-Platform بودن این زبان این است که بروی هر سیستم و با هر سیستم عاملی از قبیل : Unix, Windows NT, Macintosh, Os/2 اجرا میشوند. توجه کنید که منظور از سیستم عامل، سیستم عامل هایی می باشند که بر روی سرویس دهنده نصب می شوند. PHP نه تنها قابلیت اجرا بر روی هر سیستم عاملی را دارا می باشد بلکه برای منتقل کردن برنامه های آن از یک سیستم عامل به سیستم عامل دیگر احتیاج بــه تغییرات اندکی خواهید داشت و حتی در بعضی از موارد بدون احتیاج به هیچ تغییری می توانید یک برنامه به زبان php را از یک سیستم عامل به سیستم عامل دیگر منتقل کنید.

منظور از Html embeded بودن PHP این است که دستورات این زبان در بین کدهای html قرار می گیرند. بنابراین برنامه نویسی به زبان PHP کمی پیچیده تر از برنامه نویسی به زبان Html به حساب می آید.

PHP بر خلاف زبانهای برنامه نویسی (Programming Languages) یک زبان اسکریپتی (Scripting Language) می باشد به عبارت دیگر دستورات PHP بعد از رخداد یک رویداد (Event) اجرا می شوند. این رویدادها می توانند شامل ارسال یک فرم رفتن به یک URL مشخص و یا مواد دیگر باشند متداولترین زبان اسکریپتی زبان Java Script می باشد که معمولا برای پاسخ به رویدادهای کاربر در مرورگر وب بــه کار می رود تفاوت عمده Java Script با PHP در این است که Java Script یک تکنولوژی سمت سرویس گیرنده (Client-side) می باشد.

زبان هایی مانند Java Script یا PHP تفسیر شونده (Interpreted) نامیده می شوند. به عبــارت دیگر برای اجرا به یک مفسر مانند مرورگر وب احتیاج دارند. اما زبانهای برنامه نویسی مانند C یا Java بعد از ترجمه به زبان ماشین (Compile) به خودی خود قابل اجرا می باشند.

جدیدترین نسخه PHP نسخه 4 این زبان اسکریپتی می باشد و کلیه فایل ها و کدهایی که توی این وبلاگ ارائه میشه تحت این نسخه کار میکنند. اما یک مشکل هست که اکثر سرویس دهنده ها از نسخه 3 استفاده میکنند. تفاوت این دو نسخه PHP بسیار اندک هست و تغییرات مهم عموما در مسیر اصلاح عملکرد این زبان صورت گرفته شده است.

مقدمه ای بر php (قسمت دوم)

 

عملگرهای string:

اولین چیزی که باید بگم این هست که دستور echo از ادامه نوشته شما، نوشته ای رو نشون میده. دقیقا همانند کد های HTML. تا شما از

استفاده نکنید، خط شما عوض نمیشه و به خط بعدی نمیره. echo هم کارش نمایش تمامی نوشته های شما همراه با تگ های html شما هست. مهمترین عملگری که برای رشته های متنی (string ها) به کار میره، کاراکتر نقطه (.) هست. این کاراکتر رشته های متنی رو به هم وصل میکنه. به این عملگر Dot Operator میگن. به عنوان مثال شما می خواهید هرکس که وارد سیستم کاربری سایت شما میشه بهش یه خوش آمد گویی همراه نامش گفته بشه. فرض می کنیم در متغیر UserName$ نام کاربر قرار می گیره و در مقدار ثابت WELCOME هم عبارت " ,Welcome to our site" قرار میگیره. بنابر این ما باید عبارت خوش آمد رو به نام کاربر وصل کنیم. به مثال زیر برای انجام این کار دقت کنید:

وقتی برنامه ما اجرا میشه عبارت Welcome to our site, mohammad برروی صفحه نمایش داده میشه. بخاطر داشته باشید که مقدار های ثابت رو اگر در "..." قرار دهید، php مانند متغیر ها به آنها رجوع نمیکنه. مثال بالا رو برای متغیر ها هم صدق میکنه، به این معنا که ما چند متغیر داشته باشیم و همه رو بصورت رشته ای به یکدیگر وصل کنیم. به عنوان مثال در برنامه ما اسم مردم در 3 تا متغیر ثبت میشه، بصورت FirstName$ و MiddleName$ و LastName$. حالا می می خواهیم متغیری درست کنیم به نام Compeltename$ و توش هر 3 این متغیر ها رو به یکدیگر وصل کنیم:

 

در اینجا توسط نقطه، همون عملگر Dot Operator این 3 متغیر رو به یکدیگر وصل می کنم. همچنین چون می خوام بین کلمات فاصله باشه، فاصله هم به این صورت" " بینشون می دهم. خروجی برنامه Mohammad Amin Navid خواهد بود. اگر اون فاصله هارو نمی دادم و دستور رو مانند زیر می نوشتم در این صورت خروجی برنامه عبارت MohammadAminNavid بود.

 

حالا جاش هست بعضی از توابعی که برای کاربا String ها خیلی به کارمون میاد رو بگیم. در این نوشته به Reqular Expression ها نمی پردازم چون جاش نیست، ولی در آینده بهشون می رسیم.

تابع ()substr:

 

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

 

تابع ()strpos

 

کار این تابع دقیقا برعکس تابع ()substr می باشد. یعنی شما یک عبارتی رو در متنی جستجو می کنید و تابع به شما Position اولین حرف رو میده. این تابع اولین نتیجه ای که پیدا میکنه رو نشون میده بنابر این اگر عین همون عبارت رو بازم داشته باشید نشون نخواهد داد. این تابع 3 تا پارامتر میگیره. پارامتر اول رشته متن اولیه ما می باشد. پارامتر دوم عبارتی هست که در رشته متن پیدا میشه. به خاطر داشته باشید که اگر عبارت پیدا نشد تابع مقدار False به ما برمیگردونه! و اما پارامتر سوم برای شروع جستجو می باشد. اگر عددی را مشخص نکنید از اول رشته متنی عبارتی جستجو میشه و اگر عددی رو مشخص کنید، از اون Position به بعد جستجو انجام میشه. به مثال های زیر دقت کنید

 

تابع ()trim

کار این تابع حذف تمامی فواصل آغاز و پایان رشته متنی می باشد. به عنوان مثال اگر ما چنین رشته متنی داشته باشیم "         Mohammad      "، این تابع تمامی فاصله های آغاز و پایان رشته رو حذف میکنه. به عنوان مثال:

 

در این مثال اول در متغیر name$ عبارت "     Mohammad     " رو ذخیره کردیم، سپس توسط تابع ()trim تمامی فاصله های اضافه حذف کردیم و دوباره در متغیر name$ ذخیرش کردیم.

توابع ()char و ()ord

تابع ()char کد ASCII حرفی را میگرد و حرف مربوطه رو بر میگردونه. و تابع ()ord هم دقیقا بر عکس همین کار رو انجام میده. یعنی که حرف رو میگره و کد اسکی اون رو برای ما بر می گردونه:

 

عبارت اول کد اسکی © که همون 169 هست رو نشون میده، و عبارت دوم هم حرف مربوطه به کد 169 که همون علامت© رو نشون میده.

تابع ()strlen

کار این تابع برگردوندن طول یک رشته متنی می باشد. به عنوان مثال اگر عبارت "M4S.Net" رو به این تابع بدهیم، تابع به ما عدد 7 رو بر می گردونه. یه مثال دیگه هم نوشتم:

 

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

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

مقدمه ای بر php (قسمت اول)

 

قبل از هر چیز یه نگاه کوتاه و جزئی بر تاریخچه 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

 

  • بصورت اسکریپت های نوشته شده در فایل های HTML

  

  • بصورت تگ های ASP، البته در این حالت باید در فایل php.ini تعریف کنید که این حالت رو بشناسه. برای اینکار asp_tags =off رو به on تغییر بدید. یادتون نره Apache یاهر سروری که دارید رو restart کنید یا تغییرات رو مشاهده کنید. نحوه نوشتن ASP Style هم اینگونه هست:

من توی نوشته هام فقط بصورت XML می نویسم. مابین این تگ ها هر چند تا دستور که بخواهیم می تونیم بنویسیم. هر دستوری که تموم میشه باید بعدش این علامت رو بزاریم ";" هرگاه Engine زبان php به این ویرگول نقطه دار رسید فرض میکنه که دستور شما تموم شده. اگر در آخر هر دستور خود اینو نزارید برنامتون با مشکل برمیخوره. در اینجا یک مثال می زنم که نمایانگر پایان یک دستور هست.

این عبارت دقیقا مساوی این عبارت هست:

php تا زمانی که به ";" نرسه دستور رو تموم شده فرض نمیکنه. هردوی این عبارات حاصل ضرب 14 در 5 رو برروی صفحه نشون می دهند.

گاهی اوقات میشه که ما می خواهیم خطی یا خطوطی رو در فایل php خود غیر فعال کنیم تا اجرا نشن. یا گاهی اوقات هست که ما می خواهیم در کد های خود مطلبی رو بنویسیم. مثلا می خواهیم بگیم این کد فلان کار رو انجام میده. این کار رو می توان به 3 صورت انجام داد. راحت ترین راه برای انجام این کار گذاشتن 2 تا slash " //" در آغاز هر خط است. به عنوان مثال ما می خواهیم یه نوشته روی صفحه نمایش بدیم و در خود کد هم می خواهیم توضیح بدیم که این چیه:

اگر // رو در اول خط میزاشتیم، این دستور دیگه اجرا نمیشد و به اصطلاح Ignore میشد. به جای // می توان از # هم استفاده کرد. ولی گاهی اوقات هست که شما می خواهید چند خط رو غیر فعال کنید. برای انجام این کار نوشته هارو داخل /* ...*/ قرار می دهیم. به عنوان مثال هر اسکریپتی که نوشته میشه، در آغاز فایل یه توضیح کوتاهی از اسکریپت نوشته شده، می نویسند.

به همین روال اگر شما یکسری کد جای این نوشته ها قرار بدید، کد های شما Igone میشن و اجرا نمیشن.

خوب حالا بپردازیم به نحوه نمایش عبارات برروی صفحه! نوشته های متنی و عبارات متنی رو میشه به 3 مدل نوشت و نمایش داد. نحوه اول بصورت double quote هست. اگر شما نوشته های خود رو درون "..." قرار بدهید، زمان اجرا، php متن شمارو تا تگ های HTML و متغیر های استفاده شما رو پیدا کنه و نتیجه رو برروی صفحه نشون بده. در زبان php نوشته های ما توسط دستور echo نمایش داده می شوند. به این مثال برای نمایش متن هایی که درون double quote هستند دقت کنید.

در این مثال چون کلمه salam بین تگ های هست بصورت bold یا توپور نمایش داده میشه. بنابراین نتیجه salam می باشد. در ادمه نوشته می بینید که اگر یک متغیر هم نامش دورن "..." قرار داده شده باشده، مقدار یا ارزش اون در صفحه نشون داده میشه.

نحوه بعدی نمایش عبارات، بصورت single quote هست. یعنی نوشته های ما میان '...' قرار می گیرند. وقتی نوشته های شما میان '...' قرار بگیرند، دیگه توسط php مورد بررسی قرار داده نمیشه که آیا متغیری میانشون هست یا نه:

 

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

در متغیر hereTex$ ما این نوشته هارو ذخیره می کنیم. هنگام نمایش برروی صفحه ما این نتایج رو میگیریم:

 

کلا زیاد از Here Document استفاده نمیشه. اعداد رو هم میشه بصورت عددی که هستند نمایش بدیم و هم بصورت مقادیر آن ها در سیستم های Octal و Hexa.  به عنوان مثال این عبارات همگی عدد 110 رو نشون می دهند:

 

برای نمایش اعداد Hexadecimal باید در شروع آن 0x و برای نمایش اعداد Octal باید درشورع آنها یک صفر قرار دهیم.

 نمی دونم تاحالا برنامه نویسی کارکردید یا نه! در برنامه نویسی ما همیشه با مقداری به نام بولین (Boolean) سروکار داریم. متغیری که از نوع بولین تعریف میشه یا مقدار True میگیره یا False. میشه اینو به یه چراغ تشبیه کرد. یه چراغ یا خاموشه یا روشن. وقتی روشنه True هست وقتی هم که خاموش هست False.

php هم مانند تمامی زبان های برنامه نویسی دیگه از انواع مختلف متغیر ها پشتیبانی می کنه. در این زبان متغیر ها با علامت $ نامشون شروع میشه. به عنوان مثال اگر ما بخواهیم متغیری داشته باشیم که درونش نامی رو نگهداری کنیم می تونیم name$ تعریفش کنیم. php نسبت به نام متغیر ها Case Sensitive هست. یعنی متغیر m4s$ و M4s$ و M4S$ هر 3 با همدیگه فرق می کنند. پس توی نامگذاری همیشه دقت کنید. در php نیاز نیست که حتما یه متغیر رو قبل از اینکه استفادش کنیم تعریفش کنیم و نوعش رو مشخص کنیم. دربعضی از زبان های برنامه نویسی برای استفاده از یک متغیر حتما باید تعریفش کنیم. زمانی که یه متغیر مقداری رو میگیره همون موقع درست میشه و تازمانی که برنامه هنگام کارکردن هست وجود داره. برای مقدار دهی به متغیر ها مانند خیلی از زبان های برنامه نویسی عمل می کنیم:

 

برای نمایش یک متغیر برروی صفحه می توان از دستور echo استفاده کرد. به عنوان مثال می خواهیم متغیر WebSiteName$ رو بروی صفحه بصورت Bold نشون بدیم. برای انجام این کار از این دستور استفاده می کنیم:

 

نتیجه این دستور عبارت Welcome to M4S.Net می باشد. اگر شما این عبارات رو در Single Quote قرار می دادید عبارت Welcome to $WebSiteName برروی صفحه نمایش داده میشد!

گاهی اوقات میشه که ما می خواهیم مقدار ثابت (Constant) تعریف کنیم و در برنامه ازش استفاده کنیم. درست مانند کاری که phpNuke برای فایل های زبان کرده. مقادیر ثابت درطول برنامه نه عوض میشن و نه مقداری می گیرند. نحوه تعریف مقادیر ثابت اینگونه است:

این دستور 3 تا پارامتر میگیره، ولی معمولا 2 تاش برای تعریف مقادیر ثابت لازم است. پارامتر اول نام مقدار ثابت و پارامتر دوم مقداری هست که ما می خواهیم بهش بدهیم. پارامتر سوم از نوع بولین و دلخواه است که برای تعیین Case In-Sensitive بودن مقدار ثابت ما هست. اگر مقدار True بدیم دیگه مقدار ثابت ما ‍Case Sensitive نیست. به مثال زیر توجه کنید:

 

در این مثال چون ما تعیین کردیم که مقدار ثابت ما ‍Case In-Sensitive هست می تونیم مثل تمامی موارد فوق بخونیمش. مقدار پیشفرض پارامتر سوم همیشه False هست. بنابر این اگر شما True رو مشخص نکنید مقدار ثابت شما Case Sensitive تعریف میشه. و اگر دقیقا عین نامش رو ننویسید مقدار اون نشان داده نمیشه.

همچنین تابعی هست به نام defined اینو از عمد اینجوری نوشتم که با خود define اشتباه نشه. این تابع مشخص میکنه که آیا مقدار ثابتی تعریف شده یا نه. اگر تعریف شده بود مقدار True بر میگردونه، اگر تعریف نشده بود، مقدار False بر میگردونه. True همیشه 1 است و False همیشه 0. به این مثال توجه کنید.

 

نتیجه ای که برروی صفحه نمایش داده میشه 1 است. چون ما گفتیم که WebSiteName یک مقدارثابت (Constant) هست که Case Sensitive نیست. بنابر این، با نام websitename هم برای سیستم تعریف شده است. ولی اگر ما اون مقدار true رو برداریم. حاصلی که می بینیم 0 است. چون این بار WebSiteName بصورت Case Sensitive تعریف شده و تا همانند نامش صداش نکنیم جواب نمیده :-) (دیگه کامپیوتر هم برا آدم کلاس میزاره).

php شکر خدا مثل بعضی زبون های برنامه نویسی درگیری نداره به آدم هم گیر نمیده و با متغیر ها خیلی flexible رفتار می کنه. در php میشه از این 8 نوع متغیر استفاده کرد:

  • string
  • integer
  • double
  • array
  • boolean
  • object
  • resource
  • unknown

در زبان php از متغیر های double به عنوان همون floating-point استفاده میشه. برای اینکه بینید متغیر های شما از چه نوع هستند می تونید از تابع ()gettype استفاده کنید مثال زیر یه مثال خوبی برای نشون دادن نوع متغیر ها هست:

 

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

 

اینجا یه نکته هست. اگر ما عدد 18 رو داخل "..." قرار دهیم، php متغیر age$ رو به عنوان یک متغیر string حساب می کنه. اگر بخواهیم نوع متغیری را تغییر دهیم از تابع ()settype استفاده می کنیم. به عنوان مثال این مرتبه عدد 18 رو در "..." قرار می دهم و توسط تابع ()settype میعن می کنیم که این متغیر یک integer هست.

 

اگر ما از تابع ()settype استفاده نمی کردیم php متغیر age$ رو یک string حساب می کرد، ولی حالا به عنوان یک integer حساب می کنه.

همچنان در php می توان از عملگر های Casting هم استفاده کرد. درست مانند توابع ()int و ()str در زبان های برنامه نویسی دیگه مانند VB و ++‍C. توسط عملگرهای Casting می توانید بصورت موفقت نوع متغیر رو تغییر داد. فهرست زیر، لیست عملگرهای ‍Casting زبان php می باشد:

(string)

(integer)

(double)

(boolean)

البته میشه از نام اختصاری (int) و (bool) برای عملگر های (integer) و (boolean) استفاده کرد. طریقه استفاده از این عملگر های اینگونه می باشد:

 

به عنوان مثال ما متغیری داریم که توش عدد Π رو ذخیره کرده ایم. ولی وضعیتی در برناممون پیش اومده که می خواهیم این متغیر رو به عنوان یک عدد صحیح (integer) برروی صفحه نمایش دهیم. بنابر این اینگونه برروی صفحه نمایش می دهیم:

 

بصورت پیشفرض php متغیر pie$ رو به عنوان یک متغیر double حساب میکنه. ولی ما با دستور (int)($pie) مقدار این متغیر رو به عنوان یک عدد صحیح نشون میده بنابر این خروجی برنامه عدد 3 هست.

در php عملگر های دیگه هم هستند. بعضی عملگر ها در php باید بین 2 عبارت عملی انجام دهند و بعضی عملگرها هم در php وضیفه انجام عملی برروی یک عبارت دارند. به عنوان مثال عملگر های جمع (+) و یا تفریق (-)  برروی 2 عبارت باید عملی انجام دهند. مثال عملگر هایی که برروی یک عبارت عمل می کنند، عملگر Casting یا عملگر Increment (++) می باشد. در ادامه متن بیشتر بهشون توضیح می دهم.

در php عملگر های ریاضی مانند عملگر ها در همه زبان ها می باشد. همچنین  عملگر دیگه ای هم هست در php که ترجمش میشه "عملگر 3 گانه" (Ternary Operator) که در بخش های بعدی هنگام معرفی دستورات شرطی مثل If و Switch بهش می پردازیم.

آرشیو میسنجریاهو، آفلاین و بدون پاسورد!

برایم مهم بود که به پیام های گذشته ام در یاهو! میسنجر دسترسی سریع داشته باشم و حتی با عوض کردن سیستم شخصی ام آنها را از دست ندهم.

می دانید که میسنجریاهو! می تواند پیام ها را برای استفاده در روز مبادا بایگانی کند.

(برای آنها که نمی دانند: Preferences::Archive::Enable Archiving).

برای همین سعی کردم راه حلی برای استخراج و ذخیره پیامها در فایل های متنی قابل حمل کشف کنم!

فهمیدم که یاهو! میسنجر برای بایگانی کردن پیام ها، آنها را به صورت رمزشده در فایلهای متنی dat.* و در مسیری مثل

 C:Program FilesYahoo!MessengerProfiles{Your Yahoo! ID}ArchiveMessages

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

در لینکدونی امیرعظمتی دیدم که با داشتن برنامه Yahoo Message Archive Decoder می توان بدون نیاز به نام کاربری و کلمه عبور، پیام های گذشته خود (و حتی دیگران!) را درحالت «آفلاین» خواند.

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

:: دانلود مستقیم؛ حجم: 299.3 کیلوبایت (نسخه نمایشی و رجیستر نشده)

قفل کردن آی دی یاهو

استفاده از این برنامه بسیار آسان است، فقط کافیست آی دی مورد نظر را در قسمت Bad ID بنویسید و بر روی Lock کلیک کنید.

در قسمت بالای برنامه ،شما قادر به دیدن شمارش معکوس در حین قفل شدن آی دی هستید. هنگامی که شمارش به پایان رسید آی دی مورد نظر قفل می شود.

اگر کسی آی دی مارا قفل کرد؟

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

 دریافت برنامه حجم برنامه: 24/5 کیلو بایت

وارد چت روم پر (full) شوید!

برای ورود به چت رومی که پر است یعنی 40 نفر در آن آن لاین هستند مراحل زیر را طی کنید:

ابتدا یک چت روم بسازید تا هیچ کس داخل آن نباشد.
کد روبرو را در قسمت پیغام تایپ کنید [*] join/ ﴿که بجای [*] باید نام چت رومی که پر هست و قصد ورود به آن را دارید را وارد کنید.﴾
ممکن است با پیغامی که می گوید این چت روم پر است مواجه شوید. یک مدت صبر کنید دو باره کد بالا را وارد کنید این بار وارد چت روم پر خواهید شد!

آرشیو میسنجریاهو، آفلاین و بدون پاسورد!

برایم مهم بود که به پیام های گذشته ام در یاهو! میسنجر دسترسی سریع داشته باشم و حتی با عوض کردن سیستم شخصی ام آنها را از دست ندهم.

می دانید که میسنجریاهو! می تواند پیام ها را برای استفاده در روز مبادا بایگانی کند.

(برای آنها که نمی دانند: Preferences::Archive::Enable Archiving).

برای همین سعی کردم راه حلی برای استخراج و ذخیره پیامها در فایل های متنی قابل حمل کشف کنم!

فهمیدم که یاهو! میسنجر برای بایگانی کردن پیام ها، آنها را به صورت رمزشده در فایلهای متنی dat.* و در مسیری مثل

 C:Program FilesYahoo!MessengerProfiles{Your Yahoo! ID}ArchiveMessages

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

در لینکدونی امیرعظمتی دیدم که با داشتن برنامه Yahoo Message Archive Decoder می توان بدون نیاز به نام کاربری و کلمه عبور، پیام های گذشته خود (و حتی دیگران!) را درحالت «آفلاین» خواند.

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

:: دانلود مستقیم؛ حجم: 299.3 کیلوبایت (نسخه نمایشی و رجیستر نشده)

ID مجازی

معمولا آنهایی که از یاهو! و پیام رسان یاهو! (میسنجر) استفاده می کنند، بیشتر از یک شناسه (ID) برای خودشان دارند. حرفه ای ها، شناسه های مجازی تعریف می کنند و تازه کارها شناسه حقیقی می سازند.

حتما می دانید چه فرقی دارند؟ برای یک شناسه مجازی، ایمیل معتبر بر روی یاهو وجود ندارد.

اما استفاده از شناسه های مجازی اشکالاتی هم دارد که حرفه ای ها را وادار به تعریف شناسه های حقیقی مختلف می کند:: داشتن وضعیت یکسان برای تمام شناسه های مجازی (مثلا Availabe یا Invisible بودن و نمایش یک خط وضعیت برای همه) و حتی امکان فراموشی در اینکه کدام کاربر را با کدام شناسه اضافه کرده اید؟ و بدتر از همه اشتباه در ارسال پیام از طرف یک شناسه بجای یک شناسه دیگر!

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

از فارس تک دیدم که «علی مشاطان» هم (به تازگی) اصلاحیه ای ساخته که برروی تمام نسخه های یاهو! کار می کند و البته مزیتی دارد که... خودتان بخوانید

می توانید آن را از اینجا هم دریافت کنید.