• اطلاعیه ها

    • Masih

      برخوردی شدید با تاپیک های تبلیغاتی   شنبه, 12 آبان 1397

      درود، از این لحظه به بعد، تمامی تاپیک های تبلیغاتی سبک رپرتاژ که با هدف جمع آوری بک لینک در انجمن های بیست اسکریپت ایجاد می شوند، حذف شده و دسترسی کاربر خاطی نیز مسدود خواهد شد.

lion

کاربر سایت
  • تعداد ارسال ها

    112
  • تاریخ عضویت

  • آخرین بازدید

اعتبار در سایت

2 Neutral

درباره lion

  • درجه
    کاربر نیمه فعال
  • تاریخ تولد تعیین نشده
  1. به وسیله تابع ( ) ftp_connect به سرور FTP خود متصل شده و می توانید فایل های مورد نظر خود را آپلود ، دانلود ، جا به جا و ... نمایید . این تابع یک اتصال ( Connection ) به سرور باز کرده و پس از آن می توانید از سایر تابع های FTP در زبان PHP برای ارتباط با سرور استفاده نمایید . شکل کلی استفاده از این تابع به صورت زیر است : ftp_connect( host , port , timeout ) ; host این پارامتر سرور FTP ای که می خواهید به آن متصل شوید را مشخص می کنید . می تواند به صورت یک دامنه اینترنتی یا IP بوده و نباید شامل کاراکترهای " //:ftp" یا " // " باشد . استفاده از این پارامتر اجباری است . port این پارامتر شماره پورت سرور را مشخص می کند . مقدار پیش فرض آن ، 21 است . استفاده از این پارامتر اختیاری است . timeout این پارامتر مدت زمانی را تعیین می کند که پس از اتصال به سرور ، چنانچه تبادل اطلاعاتی با سرور انجام نشود ، ارتباط ( connection ) به سرور ، به صورت خود به خود قطع می شود . مقدار پیش فرض این خاصیت 90 ثانیه است . استفاده از این پارامتر اختیاری است . مثال عملی : در مثال زیر ، با استفاده از تابع ( ) ftp_connect به سرور FTP مورد نظر خود متصل شده ایم . اگر به هر دلیل ، ارتباط با سرور برقرار نشود ، تابع ( ) die یک پیام خطا را به کاربر نمایش می دهد . نکته : از متغیر conn$ برای قرار دادن اطلاعات اتصال ( Connection ) به سرور در آن استفاده کرده ایم ، که در پایان عملیات توسط تابع ( ) ftp_close آن را ببندیم . < ? php $conn = ftp_connect( "ftp.testftp.com") or die( "Could not connect" ) ; // سایر کدهای برنامه ... ftp_close( $conn ) ;? >
  2. در این بخش مهمترین و پرکاربردترین توابع زبان PHP برای مدیریت خطاهای رخ داده در برنامه را معرفی کرده ایم . برای دریافت اطلاعات بیشتر بر روی نام هر تابع کلیک نمایید : به وسیله این توابع می توانید خطاهای رخ داده در کدهای PHP را شناسایی و مدیریت کرده و اطلاعات مربوط به آنها را در log سرور ذخیره کرده و یا برای ایمیل کاربر ارسال نمایید . نکته : تمامی توابع مدیریت خطای PHP ، به صورت پیش فرض بر روی سرورهای این زبان نصب شده و نیاز به هیچ نصب اضافه ای نیست . debug_backtrace ( ) این تابع اطلاعات کاملی راجع به خطای رخ داده را ، به صورت یک آرایه نمایش می دهد . error_get_last ( ) این تابع اطلاعات آخرین خطای رخ داده در کد برنامه را بر می گرداند . error_log ( ) این تابع اطلاعات خطاهای رخ داده در صفحه را در یک فایل بر روی سرور ذخیره کرده و یا به ایمیل کاربر ارسال می کند . error_reporting ( ) این تابع مشخص می کند که چه خطاهایی به سیستم گزارش شوند . set_error_handler ( ) این تابع یک تابع را به عنوان تابع پیش فرض برای مدیریت خطاها در صفحه تعیین می کند . set_exception_handler ( ) این تابع ، یک تابع تعیین شده از سوی طراح را به عنوان تابع مدیریت کننده استثناها در صفحه تعیین می کند . trigger_error ( ) این تابع برای شناسایی یک خطا یا فراخوانی تابع مربوط به آن به کار می رود . user_error ( ) این تابع برای شناسایی یک خطا یا فراخوانی تابع مربوط به آن به کار می رود . عملکرد آن همانند تابع ( ) trigger_error است . مقادیر ثابت ( Constants ) در کد نویسی خطا یابی PHP : زبان PHP دارای تعدادی مقدار ثابت یا Constants در زمینه مدیریت خطا یابی است . هر یک از این ثابت ها ، دارای مفهوم و کاربرد خاصی هستند . لیست زیر این ثابت ها به همراه توضیحات آنان را ارائه کرده است : 2 E_WARNING خطا با شدت اهمیت کم بوده و مانع اجرای اسکریپت نخواهد شد . 8 E_NOTICE پیام خطا یک اعلان مشکل . برنامه ممکن است ایرادی پیدا کرده باشد که از نظرش خطاست ، ولی مشکل خاصی ایجاد نمی کند . 256 E_USER_ERROR این خطا یک خطا مهم بوده و توسط کاربر پیش بینی شده است . به احتمال زیاد اجرای روند اسکریپت را متوقف می کند . 512 E_USER_WARNING یک پیام اخطار معمولی که معمولا باعث توقف اجرای اسکریپت نشده و توسط طراح پیش بینی شده است . 1024 E_USER_NOTICE یک اعلان بروز خطا یا مشکل معمولی که توسط طراح پیش بینی شده است . 4096 E_RECOVERABLE_ERROR یک خطای مهم و از کار اندازنده ، که قابل پیش بینی و مدیریت می باشد . معمولا این خطا توسط یک مدیریت کننده خطا طراحی شده توسط طراح برنامه ، شناسایی می شود . 8191 E_ALL همه نوع خطا و اخطار را شامل می شود .
  3. به صورت پیش فرض ، PHP یک پیام حاوی اطلاعات خطا رخ داده را به سیستم logging سرور یا یک فایل خاص ، بسته به اینکه فایل php.ini ، بر روی سرور چگونه تنظیم شده باشد ، ارسال می کند . به وسیله تابع ( ) error_log ، می توانید پیام های خطا رخ داده را به یک فایل خاص یا به ایمیل کاربر ارسال نمایید . ارسال یک ایمیل حاوی اطلاعات خطا می تواند یکی از کارآمدترین روش ها باشد . البته فقط این کار را برای خطاهای مهم و از کار اندازنده انجام دهید ، نه هر خطای معمولی ! . در مثال زیر ، نحوه استفاده از تابع ( ) error_log را در عمل نمایش داده و در صورت بروز خطا ، ایمیلی حاوی اطلاعات آن به آدرس ایمیل کاربر ، ارسال می شود : < ? php // تابع مدیریت کننده خطا و فرستنده ایمیل function customError($errno, $errstr) { echo " Error: [$errno] $errstr<br>"; echo "Webmaster has been notified"; error_log("Error: [$errno] $errstr",1, " someone@example.com " , " From: webmaster@example.com " ) ; } // تعیین تابع پیش فرض خطا set_error_handler("customError",E_USER_WARNING); // مکان بروز خطا $test=2; if ($test>1) { trigger_error("Value must be 1 or below",E_USER_WARNING); }? > خروجی خطای رخ داده در سیستم به صورت زیر خواهدد بود : Error: [512] Value must be 1 or belowWebmaster has been notified همچین کاربر ایمیلی با محتویات زیر را دریافت خواهد کرد : Error: [512] Value must be 1 or below
  4. در این بخش کار با تابع ( ) error_trigger را فرا خواهید گرفت . از تابع ( ) error_trigger در زمانی استفاده می شود که بروز خطا را پیش بینی کرده و کد لازم را برای مدیریت آن تعیین می کنیم . کار با این تابع را در قالب یک مثال آموزش می دهیم . معمولا خطا در جاهایی که از کاربر ورودی دریافت می کنید ، احتمال زیادی دارد ، که رخ دهد . مثلا کاربر مقادیر غیر مجاز وارد نماید . در مثالی زیر کدی طراحی کرده ایم تا در صورتی که مقدار متغیر test$ از 10 بیشتر بود ، یک پیام خطا توسط رویداد ( ) error_trigger صادر شود . < ? php $test=20; if ( $test > 10 ) { trigger_error( "Value must be 10 or below" ) ; }? > خروجی این خطا ، به صورت زیر خواهد بود : Notice: Value must be 1 or belowin C:\webfolder\test.php on line 6 پیام خروجی مثال فوق را با تعیین یک تابع به عنوان تابع پیش فرض برای مدیریت خطا می توان اصلاح کرد . در مثال زیر ، شکل کاملتری از مثال فوق را ارائه دادیم . در کد زیر ، به علت اینکه تابع ( ) customError را به عنوان تابع مدیریت کننده پیش فرض کد تعریف کرده ایم ، در هنگام بروز خطا ، تابع ( ) error_trigger پارامترهای لازم را درباره خطا به تایع ( ) customError فرستاده و این بار این تابع خروجی خطا را اعلام کرده و آن را مدیریت می کند : < ? php // تابع مدیریت کننده خطا function customError( $errno , $errstr ) { echo "Error: [$errno] $errstr<br>"; echo "Ending Script"; die( ); } // تعیین تابع مدیریت کننده پیش فرض set_error_handler( "customError",E_USER_WARNING ) ; // بروز خطا و ارسال پارامترهای لازم $test = 20 ; if ( $test > 10 ) { trigger_error( "Value must be 10 or below",E_USER_WARNING ) ; }? > خروجی کد ، این بار به صورت زیر خواهد بود : Error: [512] Value must be 10 or belowEnding Script
  5. ساخت یک مدیریت کننده خطا نسبتا ساده است . به طور معمول ، تابعی را طراحی می کنیم تا در هنگام بروز خطا در صفحه ، فراخوانی شود . تابع طراحی شده بایستی حداقل دو پارامتر ورودی را دریافت و مدیریت کند : شدت اهمیت خطا ( error level ) . پیام خطا ( error message ) . همچین چندین پارامتر اختیاری نیز می تواند داشته باشد : نام فایل ( file name ) . شماره خطی از برنامه که خطا در آن رخ داده است ( line number ) . محتوای خطا ( error context ) . شکل کلی یک تابع طراحی شده برای مدیریت خطا در PHP می تواند به صورت زیر باشد : error_function ( error_level , error_message , error_file , error_line , error_context ) ; error_level این پارامتر شدت اهمیت خطا را تعیین می کند . یک مقدار عددی است و شرح موارد آن در جدول راهنمای شماره 1 آمده است . استفاده از این پارامتر اجباری است . error_message این پارامتر پیام خطا را که حاوی اطلاعاتی راجع به آن است را تعیین می کند . استفاده از این پارامتر اجباری است . error_file این پارامتر نام فایلی که خطا در آن رخ داده است ، را مشخص می کند . استفاده از این پارامتر اختیاری است . error_line این پارامتر شماره خطی که خطا در آن رخ داده است را مشخص می کند . استفاده از این پارامتر اختیاری است . error_context این پارامتر نیز تمامی متغیرها و مقدارهایشان که در کد برنامه ای که خطا در آن رخ داده است را شامل می شود . استفاده از این پارامتر اختیاری است . جدول راهنمای شماره 1 : جدول زیر انواع مقادیر مختلف برای شدت اهمیت خطای رخ داده و توضیحات آنها را نشان می دهد : پارامتر پارامتر توضیح 2 E_WARNING خطا با شدت اهمیت کم بوده و مانع اجرای اسکریپت نخواهد شد . 8 E_NOTICE پیام خطا یک اعلان مشکل . برنامه ممکن است ایرادی پیدا کرده باشد که از نظرش خطاست ، ولی مشکل خاصی ایجاد نمی کند . 256 E_USER_ERROR این خطا یک خطا مهم بوده و توسط کاربر پیش بینی شده است . به احتمال زیاد اجرای روند اسکریپت را متوقف می کند . 512 E_USER_WARNING یک پیام اخطار معمولی که معمولا باعث توقف اجرای اسکریپت نشده و توسط طراح پیش بینی شده است . 1024 E_USER_NOTICE یک اعلان بروز خطا یا مشکل معمولی که توسط طراح پیش بینی شده است . 4096 E_RECOVERABLE_ERROR یک خطای مهم و از کار اندازنده ، که قابل پیش بینی و مدیریت می باشد . معمولا این خطا توسط یک مدیریت کننده خطا طراحی شده توسط طراح برنامه ، شناسایی می شود . 8191 E_ALL همه نوع خطا و اخطار را شامل می شود . نحوه طراحی یک مدیریت کننده خطا : تابع زیر یک مدیریت کننده خطای معمولی را نشان می دهد که میزان شدت اهمیت خطا و پیام آن را در خروجی چاپ می کند : function customError( $errno , $errstr ) { echo "Error : [$errno] $errstr "; echo "Ending Script"; die( ); } هنگامی که خطایی رخ می دهد ، تابع فوق شدت اهمیت خطا را توسط پارامتر $errno و پیام خطا را توسط پارامتر $errstr دریافت کرده و در خروجی نشان می دهد . اکنون که تابع مدیریت خطا را طراحی کردیم ، باید کد فراخوان آن را در جاهایی که می خواهیم ، قرار داده تا در صورت بروز خطا ، تابع فوق فراخوانی شود . تنظیم فراخوان کننده تابع مدیریت خطا ( event handler ) : مدیریت کننده پیش فرض برای خطا در PHP تعیین شده است . اما در مثال این بخش ، ما قصد داریم تا تابعی به نام ( ) customError را که خود برای اجرا در زمان بروز خطا ، طراحی کرده ایم را به عنوان مدیریت کننده پیش فرض خطا قرار دهیم . لازم به ذکر است که این امکان وجود دارد تا شما برای هر بخش از کد یا دسته ای از توابع یک مدیریت کننده خطا پیش فرض تعیین کنید ، تا در مواقع مختلف بروز خطا ، به گونه های مختلف با آن برخورد نمایید . اما در این مثال به وسیله تابع ( ) set_error_handler ، ما تابع ( ) customError را به عنوان مدیریت کننده خطای پیش فرض اسکریپت تعیین کرده ایم : set_error_handler( " customError " ) ; مثال عملی کاملتر : مثال : در مثال زیر ، پس از اینکه تابع مدیریت کننده خطا پیش فرض را برای برنامه تعیین کردیم ، در خط آخر مثال ، به برنامه دستور داده ایم تا مقدار متغیری که تعریف نشده است را چاپ کند !! این کار باعث بروز یک خطا شده و تابع مدیریت خطا را فراخوانی می کند : <?php // تابع مدیریت کننده خطا function customError($errno, $errstr) { echo "<b>Error:</b> [$errno] $errstr"; } // تعیین تابع پیض فرض برای مدیریت خطا set_error_handler("customError"); // بروز و فراخوانی خطا echo($test);?> پس از اجرای کد فوق و بروز خطا ، پیام زیر به عنوان پیام خطا توسط تابع ( ) customError اعلام می شود . Error : [8] Undefined variable : test
  6. مدیریت خطاهای احتمالی در کدها و اسکریپت های PHP ساده و روان است . در حالت پیش فرض یک پیام خطا همراه با نام فایلی که خطا در آن رخ داده ، شماره خط خطا و پیامی که تشریح کننده خطا است ، به مرورگر ارسال می شود . نحوه مدیریت خطا در PHP : در زمان نوشتن اسکریپت ها و برنامه های تحت وب ، مدیریت خطا یک بخش مهم به حساب می آید . اگر کد شما ، نقص مدیریت خطا داشته باشد ، برنامه طراحی شده بسیار مبتدی به نظر آمده و خطراتی ممکن است آن را تهدید نماید . در این بخش مهمترین و پرکاربردترین متدهای مدیریت خطادر PHP را بررسی می کنیم ، که عبارتند از : تابع ساده ( ) die . برخورد با خطاهای گوناگون و فعال کننده های خطا . گزارش دهی خطا . ساده ترین روش مدیریت خطا در PHP - تابع ( ) die : نحوه کار با تابع ( ) die را با یک مثال ساده نمایش می دهیم . کد زیر یک مثال ساده را نشان می دهد که یک فایل متنی را باز می کند : < ? php $file = fopen( "welcome.txt" , "r" ) ; ? > حال اگر فایل به هر دلیلی وجود نداشته و یا از روی سرور پاک شده باشد ، برنامه پیام خطایی مشابه پیام زیر صادر می کند : Warning: fopen(welcome.txt) [function.fopen]: failed to open stream:No such file or directory in C:\webfolder\test.php on line 2 برای جلوگیری از صدور پیام خطایی مشابه پیام فوق ، کدی را طراحی می کنیم تا ابتدا وجود یا عدم وجود فایل مورد نظر را بررسی کرده و سپس دستور مناسب را اجرا نماید : < ? php if( !file_exists( "welcome.txt" ) ) { die("File not found"); } else { $file = fopen( "welcome.txt" , "r" ) ; }? > حال اگر در باز کردن فایل مورد نظر ، خطایی رخ دهد ، به جای پیام طولانی فوق ، پیام ملموس و کوتاه زیر نمایش داده می شود : File not found البته لازم به ذکر است که روش فوق برای خطاهای معمولی قابل استفاده بوده و در موارد مهمتر باید از مدیریت کننده های خطاهای پیشرفته تر استفاده نمود . در بخش بعدی ، بخش طراحی مدیریت کننده خطا ها در PHP به تشریح روش های حرفه ای تر خواهیم پرداخت .
  7. مرجع توابع کار با فایل ها در PHP : توابع کار با فایل ها در PHP ، امکان دسترسی و کار با فایل ها را در این زبان به شما می دهند . به وسیله این توابع ، می توانید فایل های روی سرور را باز کرده ، بخوانید ، تغییر دهید و ... . پیش نیاز نصب : مجموعه توابع کار با فایل ها ، جزء هسته اصلی زبان 8 بوده و برای استفاده از آنها به نصب یا تغییر خاصی در تنظیم سرورتان نیست . فهرست توابع : basename ( ) این تابع ، نام یک فایل که آدرس آن تعیین شده را بر می گرداند . chgrp ( ) این تابع ، گروه کاربرانی که امکان دسترسی به یک فایل خاص را دارند ، تعیین می کند . chmod ( ) این تابع ، سطح دسترسی به یک فایل خاص را مشخص می کند . chown ( ) این تابع ، مالک ( owner ) فایل مورد نظر را تغییر می دهد . clearstatcache ( ) این تابع ، میزان حافظه اشغال شده توسط یک تابع یا فایل در حافظه موقت را آزاد می کند . copy ( ) این تابع ، محتویات یک فایل مورد نظر را در مکانی دیگر بر روی سرور ، کپی می کند . dirname ( ) این تابع ، نام پوشه جاری در یک آدرس داده شده به آن را بر می گرداند . disk_free_space ( ) این تابع ، میزان فضای خالی در یک پوشه که آدرس آن داده شده را بر حسب bytes بر می گرداند . disk_total_space ( ) این تابع ، میزان فضای کلی یک پوشه که آدرس آن داده شده را بر حسب bytes بر می گرداند . diskfreespace ( ) این تابع ، میزان فضای خالی در یک پوشه که آدرس آن داده شده را بر حسب bytes بر می گرداند . عملکرد این تابع همانند تابع ( ) disk_free_space است .
  8. به وسیله قابلیت های کار با فایل ها در PHP ، شما می توانید فایل های متنی و یا سایر فایل ها را باز کرده ، خوانده ، ویرایش نموده و یا جستجو نمایید . در این بخش قصد داریم تا متدها و توابعی که برای کار با فایل ها در PHP در نظر گرفته شده اند ، را تشریح نماییم . باز کردن یک فایل - متد ( ) fopen : به وسیله تابع ( ) fopen در PHP ، می توانید یک فایل را باز کنید . این تابع دو پارامتر اصلی دارد . پارامتر اول تعیین کننده نام و آدرس فایل و پارامتر دوم تعیین کننده نحوه باز کردن فایل است . در ادامه به توضیح این پارامترها خواهیم پرداخت . برای کار با این تابع ، باید خروجی آن را در یک متغیر ذخیره نمود و سپس آن متغیر را در سطح برنامه استفاده نمود . شکل کلی استفاده از این متد به صورت زیر است : < ? php $ نام یک متغیر دلخواه = fopen ( " نحوه باز کردن فایل " , " نام یا آدرس فایل مورد نظر " ) ;? > ? > مثال : < ? php $My_File = fopen ( " Example.txt " , " r" ) ;? > گفتیم که پارامتر اول تعیین کننده نام و یا آدرس فایل مورد نظر است . اما پارامتر دوم تعیین کننده نحوه باز شدن فایل است . این پارامتر می تواند یکی از مقادیر جدول زیر را داشته باشد . ضمنا عمکلرد هر مقدار نیز توضیح داده شده است : r در این حالت فایل به صورت فقط خواندنی و از ابتدای آن باز می شود . در این حالت امکان تغییر فایل برای کاربر وجود ندارد . +r در این حالت فایل به صورت خواندنی ، قابل ویرایش و از ابتدا باز می شود . در این حالت امکان تغییر فایل برای کاربر وجود دارد . w در این حالت فایل به صورت فقط نوشتنی و قابل تغییر باز می شود . در این حالت چنان فایل از قبل وجود داشته باشد ، محتویات آن پاک می شود . و اگر وجود نداشته باشد ، یک فایل جدید ایجاد می شود . +w در این حالت فایل به صورت خواندنی و نوشتنی و قابل تغییر باز می شود . در این حالت چنان فایل از قبل وجود داشته باشد ، محتویات آن پاک می شود . و اگر وجود نداشته باشد ، یک فایل جدید ایجاد می شود . a در این حالت فایل باز شده و متن تعیین شده به انتهای آن اضافه می شود . x در این حالت یک فایل جدید با نام تعیین شده ایجاد و به صورت فقط نوشتنی باز می شود . چنانچه فایل از قبل وجود داشته باشد ، برنامه پیام error صادر کرده و مقدار false را بر می گرداند . +x در این حالت یک فایل جدید با نام تعیین شده ایجاد و به صورت خواندنی و نوشتنی باز می شود . چنانچه فایل از قبل وجود داشته باشد ، برنامه پیام error صادر کرده و مقدار false را بر می گرداند . اگر سرور فایل را پیدا نکرده و یا وجود نداشت ، چه می شود : که در تابع ( ) fopen تعیین کرده ایم ، وجود نداشت و یا سرور موفق نشد ، آن را پیدا کند ، برنامه یک پیام error صادر کرده و مقدار false یا 0 را بر می گرداند . اسکریپت زیر ، در صورتی که فایل وجود نداشته باشد ، یک پیام هشدار را به کاربر نمایش می دهد : < ? php $file = fopen ( " welcome.txt " , " r " ) or exit ( " Unable to open file ! " ) ;? > بستن یک فایل باز شده - متد ( ) fclose : پس از اینکه یک فایل را با دستور ( ) fopen باز کردیم ، می توانیم آن را با دستور ( ) fclose ببندیم . برای این منظور باید نام متغیری که در هنگام باز کردن فایل به کار بردیم و محتویات فایل را درون آن ذخیره نمودیم را در پرانتز مقابل تابع ( ) fclose قرار دهیم . شکل کلی استفاده از این متد به صورت زیر است : < ? php fclose ( " نام متغیری که فایل باز شده را در آن قرار داده بودیم" ) ;? > مثال : < ? php $My_File = fopen ( " Example.txt " , " r" ) ; // یک فایل را با این دستور باز کرده ایم .... fclose ( $My_File ) ; // فایل باز شده را بسته ایم? > چک کردن اینکه به آخر فایل رسیده ایم یا خیر ؟ - متد ( ) feof : تابع ( ) feof ، چک می کند که آیا برنامه به آخر یک فایل رسیده است یا خیر . این تابع برای جستجو و یا خواندن فایل های داده ای با حجم نامشخص استفاده می شود . در این موارد ، برنامه هنگامی که به آخر فایل برسد ، باید جستجو یا عملیات خواندن را متوقف کند . نکته : از این تابع در زمانی که فایل را با حالت های w , a و x باز کرده اید ، نمی توانید استفاده نمایید . شکل کلی استفاده از این متد به صورت زیر است : < ? php feof ( نام فایل مورد نظر ) ; ? > مثال : در مثال زیر یک اسکریپت طراحی شده است که فایل My_File$ را بررسی کرده و چنانچه برنامه به آخر آن رسیده باشد ، یک پیام صادر می کند : < ? php if ( feof ( $ My_File ) ) echo " End of file " ; ? > خواندن یک فایل به صورت خط به خط : به وسیله تابع ( ) fgetc در PHP ، می توانید یک فایل متنی را باز کرده و به صورت خط به خط ، بخوانید . سپس در صورت نیاز در خروجی چاپ نمایید . این تابع فایل را به صورت خط به خط خوانده و پس از خواندن یک خط ، اشاره گر به ابتدای خط بعدی منتقل می شود . مثال : اسکریپت مثال زیر یک فایل متنی را به وسیله یک دستور حلقه ، به صورت خط به خط خوانده و سپس در خروجی چاپ می نماید : < ? php $file = fopen( "welcome.txt", "r" ) or exit ( "Unable to open file!" ) ; // حلقه زیر فایل را به صورت خط به خط تا رسیدن به آخر آن می خواند و در خروجی نمایش می دهد while ( !feof ( $file ) ) { echo fgets ( $file ) . "< br />" ; } fclose( $file ) ; ? >
  9. تابع ( ) JDMonthName این تابع یک تاریخ معین را دریافت کرده و نام ماه مربوط به آن تاریخ را نشان میدهد. برای مثال میخواهید ماه تاریخ بخصوصی را نمایش دهید. شکل کلی استفاده از این تابع به صورت زیر است : jdmonthname ( jd , mode ) ; jd این پارامتر تعداد روزهای سپری شده از تاریخ اول تقویم ژولیایی را تعیین میکند . استفاده از این پارامتر اجباری است . mode این پارامترها نحوه خروجی نام ماه را تعیین میکند که مثلا نام کامل باشد و یا بصورت حروف اختصاری. انواع مقادیر قابل استفاده در این پارامتر عبارتند از : 0 : نام ماه بصورت اختصاری و بر مبنای تقویم مسیحی (Jan, Feb, Mar, etc ) . 1 : نام کامل ماه بر مبنای تقویم مسیحی (January, February, March, etc ) . 2 : نام ماه بصورت اختصاری و بر مبنای تقویم ژولیانی (Jan, Feb, Mar, etc ) . 3 : نام کامل ماه بر اساس تقویم ژولیانی (January, February, March, etc ) . استفاده از این پارامتر اختیاری است . مثال : در مثال زیر ، نحوه استفاده از تابع ( ) JDMonthName را در عمل نمایش داده ایم . در مثال زیر ابتدا یک تاریخ خاص را در متغیر jd$ ذخیره کرده ایم . سپس با استفاده از تابع ( ) JDMonthName ، نام ماه آن تاریخ را در خروجی چاپ کرده ایم : < ? php $jd = cal_to_jd (CAL_GREGORIAN , date("m") , date("d") , date("Y") ) ; echo ( jdmonthname ( $jd , 1 ) ) ; ? > خروجی: January
  10. این تابع یک تاریخ معین را گرفته و نام روز آن تاریخ را برمیگرداند. شکل کلی استفاده از این تابع به صورت زیر است : jddayofweek ( jd , mode ) ; jd این پارامتر تعداد روزهای سپری شده از تاریخ اول تقویم ژولیایی را تعیین میکند . استفاده از این پارامتر اجباری است . jd این پارامتر خروجی تابع را مشخص میکند. اینکه خروجی بصورت حروفی(نام روز) و یا عددی (شماره روز در هفته) باشد. انواع مقادیر ممکن برای این پارامتر عبارتند از : 0: این مقدار مقدار پیش فرض است و باعث میشود تا خروجی تابع شماره روز در هفته را برگرداند . ( 0 برای یکشنبه ، 1 برای دوشنبه ، ... ) 1 : قرار دادن مقدار 1 باعث میشود تا تابع نام روز در هفته را برگرداند. استفاده از این پارامتر اختیاری است . مثال : در مثال زیر ، نحوه استفاده از تابع ( ) JDDayOfWeek را در عمل نمایش داده ایم . در مثال زیر ابتدا یک تاریخ خاص را در متغیر jd$ ذخیره کرده ایم . سپس با استفاده از تابع ( ) JDDayOfWeek ، نام روز آن تاریخ را در خروجی چاپ کرده ایم : < ? php $jd = cal_to_jd (CAL_GREGORIAN , date("m") , date("d") , date("Y") ) ; echo ( jddayofweek ( $jd , 1 ) ) ; ? > خروجی: Thursday
  11. این تابع یک تاریخ معین را گرفته ، سپس تعداد روزهای سپری شده از اول تقویم ژولیانی تا روز مورد نظر را نمایش میدهد. اولین روز در تقویم ژولیانی اول فوریه سال 4713 قبل از میلاد مسیح است. شکل کلی استفاده از این تابع به صورت زیر است : cal_to_jd ( calendar , month , day , year ) ; calendar این پارامتر تقویم مورد استفاده را مشخی می سازد . انواع فرمت های دیگر تقویم PHP عبارتند از : CAL_GREGORIAN : تقویم گریگوری یا مسیحی CAL_JULIAN : تقویم ژولیانی CAL_JEWISH : تقویم یهودی CAL_FRENCH : تقویم فرانسوی استفاده از این پارامتر اجباری است . month این پارامتر ماه تاریخ مورد نظر را تعیین میکند. استفاده از این پارامتر اجباری است . day این پارامتر روز تاریخ مورد نظر را تعیین میکند. استفاده از این پارامتر اجباری است . year این پارامتر سال تاریخ مورد نظر را تعیین میکند. استفاده از این پارامتر اجباری است . مثال : در مثال زیر ، نحوه استفاده از تابع ( ) cal_to_jd را در عمل نمایش داده ایم . در مثال زیر تعداد روزهای سپری شده از ابتدای تقویم ژولیانی تا یک تاریخ خاص را نمایش داده ایم : < ? php $d=cal_to_jd ( CAL_GREGORIAN , 10 , 03 ,2005 ) ; echo ( $d ) ; ? > خروجی: 2453647
  12. این تابع یک روز معین از تقویم ژولیانی را به فرمت هر تقویم مورد نظر دیگر ، تبدیل میکند. برای مثال فرض کنید میخواهید یک تاریخ در تقویم ژولیانی را به تاریخ آن در تقویم مسیحی تبدیل کنید . شکل کلی استفاده از این تابع به صورت زیر است : cal_from_jd ( jd , calendar ) ; jd این پارامتر تعداد روزهای سپری شده مورد نظر شما در تقویم ژولیانی را تعیین میکند . استفاده از این پارامتر اجباری است . calendar این پارامتر تقویم مقصد که میخواهید تاریخ جاری را به فرمت آن تبدیل کند را مشخص میکند . انواع فرمت های دیگر تقویم PHP عبارتند از : CAL_GREGORIAN : تقویم گریگوری یا مسیحی CAL_JULIAN : تقویم ژولیانی CAL_JEWISH : تقویم یهودی CAL_FRENCH : تقویم فرانسوی استفاده از این پارامتر اجباری است . مثال : در مثال زیر ، نحوه استفاده از تابع ( ) cal_from_jd را در عمل نمایش داده ایم . در مثال زیر ابتدا یک تاریخ خاص را در متغیر d$ ذخیره کرده ایم . سپس با استفاده از تابع ( ) cal_from_jd آن را به روز مربوطه در تقویم گریگوری تبدیل کرده ایم : < ? php $d = unixtojd ( mktime ( 0,0,0,1,18,2006 ) ) ; print_r ( cal_from_jd ( $d , CAL_GREGORIAN ) ) ; ? > d Array ( [date] => 1/18/2006 [month] => 1 [day] => 18 [year] => 2006 [dow] => 3 [abbrevdayname] => Wed [dayname] => Wednesday [abbrevmonth] => Jan [monthname] => January )
  13. این تابع تعداد روزهای یک ماه مورد نظرتان ، مربوط به یک سال و تقویم خاص را نشان میدهد . برای مثال فرض کنید میخواهید بدانید ماه july در سال 2005 در تقویم ژولیانی چند روز بوده است . شکل کلی استفاده از این تابع به صورت زیر است : cal_days_in_month ( calendar , month , year ) ; calendar این پارامتر تقویم مورد نظر را مشخص میکند. استفاده از این پارامتر اجباری است . month این پارامتر ماه مورد نظر را مشخص میکند. استفاده از این پارامتر اجباری است . year این پارامتر سال مورد نظر را مشخص میکند. استفاده از این پارامتر اجباری است . مثال : در مثال زیر ، نحوه استفاده از تابع ( ) cal_days_in_month را در عمل نمایش داده ایم . در مثال زیر با استفاده از تابع ( ) cal_days_in_month تعداد روزهای ماه دهم از سال 2005 را در تقویم ژولیانی را نمایش داده ایم : < ? php $d = cal_days_in_month ( CAL_GREGORIAN , 10 , 2005 ) ; echo ( " There was $d days in October 2005 " ) ; ? > خروجی: There was 31 days in October 2005
  14. ازتوابع کار با تقویم Calender در PHP زمانی اشتفاده میشود که میخواهیم فرمت های مختلف تقویم را به یکدیگر تبدیل کرده و یا اطلاعاتی را راجع به یک تاریخ خاص بدست آوریم. فرض کنید میخواهید یک تاریخ میلادی را به فرانسوی و ... تبدیل کرده و یا تعداد روزهایی که از یک تاریخ خاص تا تاریخ جاری گذشته را حساب کنید. تقویم و تاریخ در php بصورت استاندارد بر اساس تقویم ژولیانه ( Julian day count ) تعریف شده است. Julian day count تعداد روزهای سپری شده از تاریخ 1 جولای سال 4713 قبل از میلاد میباشد. نکته : برای تغییر فرمت بین تقویم ها و تبدیل تاریخ ابتدا باید تاریخ خود را به Julian day count تغییر داده سپس آن را به فرمت جدید تبدیل کنید. آیا به نصب برنامه خاص نیاز است؟ نسخه تحت ویندوز PHP بصورت استاندارد و پیش فرض تمامی توابع تقویم را شامل شده و بدون نیاز به تغییر خاص کار میکند.اما اگر از نسخه لینوکس PHP استفاده میکنید باید خروجی را با نسخه enable calendar آن کامپایل کنید . لیست توابع اصلی و مهم کار با تقویم calendar در PHP : نام تابع کاربرد cal_days_in_month ( ) این تابع تعداد روزهای یک ماه خاص از یک تقویم و سال مورد نظر را برمیگرداند . ccal_from_jd ( ) این تابع یک روز داه شده از تقویم Julian را به هر فرمت دیگر تقویم تبدیل میکند . ccal_to_jd ( ) این تابع یک تاریخ معین را گرفته و سپس تعداد روزهای سپری شده در تقویم Julian از آن روز خاص را حساب میکند . GregorianToJD ( ) این تابع یک تاریخ معین تقویم گریگوری یا مسیحی را به تعداد روزهای سپری شده از اول تقویم ژولیانی(Julian day count) تبدیل میکند . JDDayOfWeek ( ) این تابع نام روز جاری از هفته را نمایش میدهد . JDMonthName ( ) این تابع نام ماه جاری از سال را نمایش میدهد .
  15. تابع ( ) time در PHP ، میزان ثانیه سپری شده از تاریخ اولین ثانیه روز اول سال میلادی 1970 را بر می گرداند . این تاریخ در کار با زمان و تاریخ در PHP یک مقدار پیش فرض است . کاربرد تابع time در PHP ، بیشتر برای تعیین یا تنظیم زمان مورد در صفحات PHP است . برای مثال ، تعیین زمان برای اعتبار کوکی ها ( cookies ) در یک صفحه PHP است . به این صورت که در هنگام تعریف یک کوکی ، میزان ثانیه ای که کوکی باید اعتبار داشته باشد را به وسیله تابع time تعیین می کنیم . برای دریافت اطلاعات بیشتر راجع به استفاده از این تابع در تنظیم کوکی ها به بخش آموزش نحوه ایجاد کوکی cookie در PHP بروید . شکل کلی تعریف و استفاده از تابع ( ) date در PHP به صورت زیر است : < ? php time ( ) ;? > این تابع پارامتر خاصی ندارد و فقط تعداد ثانیه ها را به صورت یک مقدار عددی بر می گرداند . در مثال زیر نحوه استفاده از این تابع را در عمل به شما نمایش داده ایم : مثال عملی : در مثال عملی زیر تابع time را به کار برده و به وسیله آن مقدار ثانیه های گذشته از تاریخ 01/01/1970 را نمایش داده ایم . برای این منظور این مقدار را ابتدا در متغیر t$ ذخیره کرده و و سپس آن را در خروجی چاپ کرده ایم : < ? php $ t = time ( ) ; echo ( $t . " ") ; echo date ( " Y / m / d " ) ; ? > خروجی: 113861808102/03/2012