পিএইচপি-৭ [পিএইচপি এডভান্স-তারিখ এবং সময়, Include ফাইল] - SMH Amiri

সর্বশেষ লিখাসমূহ

পিএইচপি-৭ [পিএইচপি এডভান্স-তারিখ এবং সময়, Include ফাইল]



পিএইচপি- তারিখ এবং সময়


পিএইচপি date() ফাংশনটি তারিখ এবং/অথবা সময়কে সাজানোর জন্য ব্যবহার করা হয়।


পিএইচপি date() ফাংশন

পিএইচপি date() ফাংশন একটি টাইমস্ট্যাম্পকে পড়ার উপযোগী করে তারিখ এবং সময়ে সাজায়।

সিনট্যাক্স

date(format,timestamp)
প্যারামিটার এর বিবরণ
প্যারামিটারবিবরণ
formatআবশ্যক। টাইমস্ট্যাম্প এর ফরম্যাটকে নির্দেশ করে।
timestampঐচ্ছিক। একটি টাইমস্ট্যাম্পকে নির্দেশ করে। ডিফল্ট হলো বর্তমান তারিখ ও সময়।

একটি টাইমস্ট্যাম্প হলো ক্যারেক্টারের ধারাবাহিকতা, যা একটি নির্দিষ্ট ইভেন্ট সম্পন্ন হওয়ার পর তারিখ এবং/অথবা সময়কে বর্ণনা করে।


সাধারণ তারিখ পাওয়ার উপায়

আপনি কিভাবে তারিখের ফরম্যাট করতে চাচ্ছেন তা date() ফাংশনের আবশ্যক প্যারামিটার( format) এর মাধ্যমে নির্ধারণ করে দিতে হয়।

এখানে কিছু ক্যারেক্টার দেওয়া হলো যেগুলো সাধারণত তারিখের জন্য ব্যবহার করা হয়ঃ

  •  d - মাসের মধ্যে একটি দিনকে রিপ্রেজেন্ট করে (১ থেকে ৩১)।
  • m - মাসকে রিপ্রেজেন্ট করে (১ থেকে ১২)।
  • Y - একটি বৎসরকে রিপ্রেজেন্ট করে (চার ডিজিটে)।
  • l(ছোট অক্ষরের 'L') - সপ্তাহের একটি দিনকে রিপ্রেজেন্ট করে।

নিজের ইচ্ছামতো তারিখ এবং সময়কে ফরম্যাট করার জন্য স্পেশাল ক্যারেক্টার যেমনঃ "/", ".", অথবা "-" ব্যবহার করা যায়। নিচের উদাহরণটি অনুশীলন করুন।


নিচের উদাহরণে আজকের তারিখকে তিনটি ভিন্ন সাজে দেখানো হয়েছেঃ

উদাহরণ
<!DOCTYPE html>
<html>
<head>
 <title>পিএইচপি উদাহরণ</title>
</head>
<body>

<?php
echo "আজকের তারিখ হলো " . date("d/m/Y") . "<br>";
echo "আজকের তারিখ হলো " . date("d.m.Y") . "<br>";
echo "আজকের তারিখ হলো " . date("d-m-Y") . "<br>";
echo "আজকের তারিখ হলো " . date("l");
?>

</body>
</html>

ফলাফল
আজকের তারিখ হলো 15/09/2024
আজকের তারিখ হলো 15.09.2024
আজকের তারিখ হলো 15-09-2024
আজকের তারিখ হলো Sunday

সাধারণ সময় পাওয়ার উপায়

এখানে কিছু ক্যারেক্টার দেওয়া হলো যেগুলো সাধারণত সময়ের জন্য ব্যবহার করা হয়ঃ

  •  h - 12-hour ফরম্যাটের ঘন্টাকে নির্দেশ করে যা শুন্য(০) থেকে শুরু হয়(00 থেকে 12)
  • i - মিনিটকে নির্দেশ করে যা শুন্য(০) থেকে শুরু হয়(00 থেকে 59)
  • s - সেকেন্ডকে নির্দেশ করে যা শুন্য(০) থেকে শুরু হয়(00 থেকে 59)
  • a - ছোট অক্ষরের Ante meridiem(am) এবং Post meridiem(pm)

নিচের উদাহরণে নির্দিষ্ট ফরম্যাটে বর্তমান সময় আউটপুট নেওয়া হলোঃ

উদাহরণ
<!DOCTYPE html>
<html>
<head>
 <title>পিএইচপি উদাহরণ</title>
</head>
<body>

<?php
  echo "বর্তমান সময় হলো " . date("h:i:sa");
?>

</body>
</html>

ফলাফল
বর্তমান সময় হলো 07:57:46pm

বিঃদ্রঃ পিএইচপি date() ফাংশন আপনার সার্ভারের বর্তমান তারিখ/সময় রিটার্ন করবে!


স্বয়ংক্রিয়ভাবে সাইটের কপিরাইট সময় সেট করা

আপনার ওয়েবসাইটে কপিরাইট বৎসর অটোমেটিক আপডেট রাখার জন্য পিএইচপি date() ফাংশন ব্যবহার করুন:

উদাহরণ
<!DOCTYPE html>
<html>
<head>
 <title>পিএইচপি উদাহরণ</title>
</head>
<body>

&copy;2010-<?php echo date("Y");?>

</body>
</html>

ফলাফল
©2010-2024

কিভাবে আপনার টাইম জোন(time zone) পাবেন?

পূর্বের কোডগুলোর মাধ্যমে আপনি হয়তো সঠিক সময় পাননি, এর কারন সম্ভবত আপনি অন্য কোন দেশে আছেন অথবা আপনার সার্ভারের সময় অন্য টাইম জোনে সেট করা আছে।

তাই, আপনি যদি সঠিক সময় পেতে চান, তাহলে আপনার প্রয়োজন মতো নির্দিষ্ট টাইমজোন সেট করে নিন।

নিচের উদাহরণে টাইম জোন "Asia/Dhaka" তে সেট করা হয়েছে এবং তারপর নির্দিষ্ট ফরম্যাটে বর্তমান সময়ের আউটপুট নেওয়া হয়েছেঃ

উদাহরণ
<!DOCTYPE html>
<html>
<head>
 <title>পিএইচপি উদাহরণ</title>
</head>
<body>

<?php
 date_default_timezone_set("Asia/Dhaka");
 echo "এখন সময় " . date("h:i:sa");
?>

</body>
</html>

ফলাফল
এখন সময় 01:57:46am

পিএইচপি mktime() ফাংশনের মাধ্যমে একটি তারিখ তৈরি

date() ফাংশনের ঐচ্ছিক প্যারামিটার(timestamp) একটি টাইমস্ট্যাম্পকে নির্দেশ করে। আপনি যদি কোন টাইমস্ট্যাম্প নির্দিষ্ট করে দেন, তাহলে বর্তমান তারিখ এবং সময় ব্যবহৃত হবে(উপরের উদাহরণে যেমনটি দেখানো হয়েছে)।

তারিখের জন্য mktime() ফাংশন Unix টাইমস্ট্যাম্প রিটার্ন করে। Unix টাইমস্ট্যাম্প Unix Epoch (January 1 1970 00:00:00 GMT) এবং নির্ধারিত সময়ের মধ্যে সেকেন্ডের সংখ্যা ধারণ করে।

নোটঃ Unix কি তা জানার জন্য এই Unix শব্দটির উপর মাউসের কার্সর ধরুন।

সিনট্যাক্স

mktime(hour,minute,second,month,day,year)

নিচের উদাহরণটি mktime() ফাংশনের কয়েকটি প্যারমিটার হতে তারিখ এবং সময় রিটার্ন করেঃ

উদাহরণ
<!DOCTYPE html>
<html>
<head>
 <title>পিএইচপি উদাহরণ</title>
</head>
<body>

<?php
//বিভিন্ন প্যারামিটার ব্যবহার করে তারিখ এবং  সময় তৈরি 
 $dayay = mktime(11, 14, 54, 8, 12, 2014);
 echo "তৈরিকৃত তারিখটি হলো ". date("Y-m-d h:i:sa", $dayay);
?>

</body>
</html>

ফলাফল
তৈরিকৃত তারিখটি হলো 2014-08-12 11:14:54am

পিএইচপি strtotime() ফাংশনের সাহায্যে স্ট্রিং থেকে তারিখ তৈরি

পিএইচপি strtotime() ফাংশন আমাদের কাছে সহজে পাঠ্যোগ্য এমন স্ট্রিংকে Unix টাইমে রুপান্তর করে।

সিনট্যাক্স

strtotime(time,now)

নিচের উদাহরণে strtotime() ফাংশন ব্যবহার করে তারিখ ও সময় তৈরি করে দেখানো হলোঃ

উদাহরণ
<!DOCTYPE html>
<html>
<head>
 <title>পিএইচপি উদাহরণ</title>
</head>
<body>

<?php
//মানুষের কাছে সহজে পাঠযোগ্য স্ট্রিং থেকে সময়ে রূপান্তর। 
 $day = strtotime("10:30pm April 15 2014");
 echo "তৈরিকৃত তারিখটি হলো " . date("Y-m-d h:i:sa", $day);
?>

</body>
</html>

ফলাফল
তৈরিকৃত তারিখটি হলো 2014-04-15 10:30:00pm

স্ট্রিং থেকে তারিখে রুপান্তরের ক্ষেত্রে পিএইচপি অনেক চতুর, তাই আপনি বিভিন্ন ধরনের ভ্যালু অন্তর্ভূক্ত করতে পারেনঃ

উদাহরণ
<!DOCTYPE html>
<html>
<head>
<title>পিএইচপি উদাহরণ</title>
</head>
<body>

<?php
$day=strtotime("tomorrow");
echo date("Y-m-d h:i:sa", $day) . "<br>";

$day=strtotime("next Saturday");
echo date("Y-m-d h:i:sa", $day) . "<br>";

$day=strtotime("+3 Months");
echo date("Y-m-d h:i:sa", $day) . "<br>";
?>

</body>
</html>

ফলাফল
2024-09-17 12:00:00am
2024-09-21 12:00:00am
2024-12-16 01:57:46am

strtotime() ফাংশনটি শতভাগ প্রত্যাশিত ফলাফল নাও দিতে পারে। তাই এই ফাংশনে স্ট্রিং সরবরাহ করার সময় চেক করে নিন।


তারিখ সংক্রান্ত অধিক উদাহরণ

নিচের উদাহরণে পরবর্তী ৬টি শুক্রবার কোন কোন তারিখে পড়ে তা দেখানো হয়েছেঃ

উদাহরণ
<!DOCTYPE html>
<html>
<head>
 <title>পিএইচপি উদাহরণ</title>
</head>
<body>

<?php
$daystart = strtotime("Friday");
$dayend = strtotime("+6 weeks", $daystart);

while ($daystart < $dayend) {
  echo date("M d", $daystart) . "<br>";
  $daystart = strtotime("+1 week", $daystart);
}
?>

</body>
</html>

ফলাফল
Sep 20
Sep 27
Oct 04
Oct 11
Oct 18
Oct 25

নিচের উদাহরণে ৬ই নভেম্বর হতে এখনো কতোদিন বাকি আছে তা আউটপুট দেখাবেঃ

উদাহরণ
<!DOCTYPE html>
<html>
<head>
 <title>পিএইচপি উদাহরণ</title>
</head>
<body>

<?php
 $targetDay = strtotime("November 06");
 $distanceDay = ceil(($targetDay-time())/60/60/24);
 echo " ৪ই নভম্বর  হতে এখনো " . $distanceDay ." দিন বাকি আছে।";
?>

</body>
</html>

ফলাফল
৬ই নম্বর  হতে এখনো 51 দিন বাকি আছে।





পিএইচপি Include ফাইল




পিএইচপির মাধ্যমে আপনি এক ফাইলের কোড কপি করে অন্য ফাইলে নিতে পারেন। নির্দিষ্ট কোন ফাইল থেকে সকল টেক্সট/কোড/মার্কআপ কপি করে অন্য ফাইলে নেওয়ার জন্য পিএইচপি include অথবা require স্টেটমেন্ট ব্যবহার করা হয়। এক্ষেত্রে যে ফাইলের মধ্যে include স্টেটমেন্ট ব্যবহার করা হয় কপি কোড সেই ফাইলেই সম্পাদিত হয়।

ধরুন আপনি একই পিএইচপি কোড, এইচটিএমএল কোড অথবা টেক্সট কে একাধিক পেজে অন্তর্ভূক্ত করতে চাচ্ছেন তাহলে আপনি অন্তর্ভুক্তির এই পদ্ধতি(include অথবা require স্টেটমেন্ট) ব্যবহার করতে পারেন।


পিএইচপি include এবং require স্টেটমেন্ট

সার্ভার আপনার ফাইলকে এক্সিকিউট করার পূর্বেই আপনি include অথবা require স্টেটমেন্টের মাধ্যমে এক বা একাধিক পিএইচপি ফাইলের কন্টেন্ট বা কন্টেন্টসমূহ আপনার পিএইচপি ফাইলে অন্তর্ভূক্ত করতে পারেন।

include অথবা require স্টেটমেন্ট প্রায় একই অর্থে ব্যবহত হয়, তবে ফাইল বিদ্যমান না থাকলে বা failure এর ক্ষেত্রে পার্থক্য প্রতীয়মানঃ

include স্টেটমেন্টrequire স্টেটমেন্ট
include স্টেটমেন্ট শুধুমাত্র একটি warning দেখাবে (E_WARNING) কিন্তু স্ক্রিপ্টের এক্সিকিউশন বন্ধ করবে না।require স্টেটমেন্ট fatal error তৈরি করবে (E_COMPILE_ERROR) এবং স্ক্রিপ্টের এক্সিকিউশন বন্ধ করে দিবে।

সুতরাং অন্তর্ভূক্তকৃত(included) ফাইল মিসিং হওয়া স্বত্তেও আপনি যদি কোড এক্সিকিউশন চালু রাখতে চান এবং ইউজারদেরকে আউটপুট দেখাতে চান তাহলে include স্টেটমেন্ট ব্যবহার করুন।

অন্যথায় ফ্রেমওয়ার্ক, CMS(Content Manaement System) অথবা অন্য যেকোন জটিল পিএইচপি এপ্লিকেশনের ক্ষেত্রে সর্বদাই require স্টেটমেন্ট ব্যবহার করুন। যদি দূর্ঘটনাবশত আপনার কোন প্রধান(key) ফাইল মিসিং হয়, তাহলে এটি আপনার এপ্লিকেশনের সিকিউরিটি এবং অখন্ডতার(security and integrity) স্বার্থে কোন কম্প্রোমাইজ করবে না।

ফাইল অন্তর্ভূক্ত(include) করলে কাজ অনেক সাশ্রয় হয়। সুতরাং আপনি চাইলে আপনার ওয়েবসাইটের সবগুলো পেজের জন্য একটি স্ট্যান্ডার্ড হেডার, ফুটার এবং মেনু তৈরি করে নিতে পারেন এবং include এবং require স্টেটমেন্ট ব্যবহার করে সকল পেজে যুক্ত করতে পারেন।

মনে করুন, আপনার ওয়েবসাইটের মেনু-বারে কোন তথ্য আপডেট করতে হবে। এর জন্য আপনাকে সবগুলো পেজ আলাদা ভাবে আপডেট করতে হবে না। শুধুমাত্র অন্তর্ভূক্তকৃত(included) ফাইলটি আপডেট করে নিলেই সবগুলো পেজের মেনু-বার আপডেট হয়ে যাবে।

সিনট্যাক্স
require 'filename';
অথবা
include 'filename';

ফাইল অন্তর্ভুক্তকরণ উদাহরণ

মনে করুন, আমাদের একটি স্ট্যান্ডার্ড মেনু ফাইল রয়েছে যার নাম "menu.php":

উদাহরণ১ঃ মেনু-বার ফাইল
<?php
	echo '<a href="../index.php">স্যাট একাডেমী</a> -
          <a href="../cprogramming/index.php">সি টিউটোরিয়াল</a> -
          <a href="../html/index.php">এইচটিএমএল টিউটোরিয়াল</a> -
          <a href="../css/index.php">সিএসএস টিউটোরিয়াল</a> -
          <a href="../js/index.php">জাভাস্ক্রিপ্ট টিউটোরিয়াল</a> -
          <a href="index.php">পিএইচপি টিউটোরিয়াল</a>';
?>

আমরা আমাদের ওয়েবসাইটের সকল পেজে এই মেনু ফাইলটি ব্যবহার করত চাচ্ছি। নিচের উদাহরণের সাহাযে আমরা এটা করে দেখিয়েছি। এই মেনু ফাইলটি আমরা একটি div এলিমেন্টের মধ্যে যুক্ত করেছি যেন পরবর্তীতে সিএসএস এর মাধ্যমে খুব সহজেই যেকোনো স্টাইল করতে পারি।

উদাহরণঃ include স্টেটমেন্ট এর মাধ্যমে মেনুবার ফাইল অন্তর্ভুক্ত করা।
<!DOCTYPE html>
<html>
    <head>
       <meta charset="utf-8">
        <title>পিএইচপি মেনুবার ফাইল অন্তর্ভুক্তকরণ উদাহরণ</title>
    </head>
    <body>

       <!-- পিএইচপি include স্টেটমেন্ট ব্যবহার করে মেনুবার ফাইল অন্তর্ভুক্ত করা-->
        <div class="menu">
             <?php include 'menu.php';?>
        </div>

        <p><strong>আমাদের ওয়েব পেজে আপনাকে স্বাগতম!</strong></p>
        <p>প্রয়োজনীয় কিছু তথ্য।</p>
        <p>আরও কিছু তথ্য।</p>

    </body>
</html>

ফলাফল

মনে করুন, আমাদের একটি স্ট্যান্ডার্ড ফুটার ফাইল রয়েছে যার নাম "footer.php"।

উদাহর২ঃ ফুটার ফাইল
<?php
echo "<p>কপিরাইট &copy;2015-" . date("Y") . " SATT Academy</p>";
?>

ফুটার ফাইলকে পেজের মধ্যে অন্তর্ভূক্ত করার জন্য include স্টেটমেন্ট ব্যবহার করুনঃ

উদাহরণঃ include স্টেটমেন্ট এর মাধ্যমে ফুটার ফাইল অন্তর্ভুক্ত করা।
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>পিএইচপি ফুটার ফাইল অন্তর্ভুক্তকরণ উদাহরণ</title>
    </head>
    <body>
        <p><strong>আমাদের ওয়েব পেজে আপনাকে স্বাগতম!</strong></p>
        <p>প্রয়োজনীয় কিছু তথ্য।</p>
        <p>আরো কিছু তথ্য।</p>

        <!-- পিএইচপি ফাইল অন্তর্ভুক্তি -->
        <?php include 'footer.php';?>

    </body>
</html>

ফলাফল

আমাদের ওয়েব পেজে আপনাকে স্বাগতম!

প্রয়োজনীয় কিছু তথ্য।

আরো কিছু তথ্য।

কপিরাইট © 2015-2024 SATT Academy


পিএইচপি include বনাম require

পিএইচপি কোডের মধ্যে ফাইল অন্তর্ভূক্ত করার জন্য require স্টেটমেন্টটিও ব্যবহার করা হয়।

যাইহোক, এদের মধ্যে একটি বড় পার্থক্য বিদ্যমান। ধরুন include স্টেটমেন্টের মাধ্যমে ফাইল অন্তর্ভূক্ত করা হলো এবং কোন কারনে ফাইলটি মিসিং হয়ে গেলো তারপরেও পিএইচপি স্ক্রিপ্ট এর এক্সিকিউশন চালু থাকবেঃ

উদাহরণ
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>পিএইচপি উদাহরণ</title>
    </head>
    <body>

        <h3>আমাদের ওয়েব পেজে আপনাকে স্বাগতম!</h3>
        <?php include 'noFile.php';
        echo "<p> পিএইচপি স্ক্রিপ্ট এখনো চালু রয়েছে।</p>"; 
        ?>

    </body>
</html>

ফলাফল

আমাদের ওয়েব পেজে আপনাকে স্বাগতম!

( ! ) Warning: include(noFile.php): failed to open stream: No such file or directory

( ! ) Warning: include(): Failed opening 'noFile.php' for inclusion

পিএইচপি স্ক্রিপ্ট এখনো চালু রয়েছে।

আমরা যদি একই উদাহরণটিতে require স্টেটমেন্ট ব্যবহার করি, তাহলে echo স্টেটমেন্টের এক্সিকিউশন বন্ধ হয়ে যাবে। কারন আবশ্যক ফাইলটি না পাওয়া গেলে require স্টেটমেন্টটি fatal error রিটার্ন করবেঃ


উদাহরণ
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>পিএইচপি required স্টেটমেন্ট এর ব্যবহার</title>
    </head>
    <body>

        <h3>আমাদের ওয়েব পেজে আপনাকে স্বাগতম!</h3>
        <?php require 'noFile.php';
         echo ";
        ?>

    </body>
</html>


ফলাফল
( ! ) Warning: require(noFile.php): failed to open stream: No such file or directory
( ! ) Fatal error: require(): Failed opening required 'noFile.php'

এপ্লিকেশনের আবশ্যক ফাইলের জন্য require স্টেটমেন্ট ব্যবহার করুন।

অপরদিকে, এপ্লিকেশনের ফাইলট যদি ঐচ্ছিক হয় তাহলে include স্টেটমেন্ট ব্যবহার করুন।