know yourselves. information, computer, 7 wonders, various.

Tuesday, April 21, 2020

PHP_Part 13_ PHP ফাইল হ্যন্ডেলিং



Php ফাইল হ্যন্ডেলিং
ফাইল ওপেন করতে open ( ) ফাংশন ব্যবহৃত হয় লেখার নিয়মঃ  
            fopen (filename, mode)
প্রথম প্যারামিটার অর্থাৎ (filename) ফাইলের নাম নির্দেশ করে এবং ২য় প্যারামিটার ফাইলের মোড নির্দেশ করে নিম্নে mode সমূহের লিষ্ট দেয়া হল। এবার চলুন নিচের প্রোগ্রামটি প্রাকটিস করা যাক।
প্রোগ্রামঃ ফাইল ওপেন
১.        আপনার এডিটর notepad++/Dreamweaver/Net beans ওপেন করুন।  নিচের কোড টুকু প্রাকটিস করুন
<html>
<body>
<?php
$file=fopen("welcome.txt","r");
?>
</body> </html>
২.        ফাইলটি  PHP_file001.php নামে সেভ করুন।
ফলাফল :           এবার ব্রাউজারের অ্যাড্রেস বারে লিখুন।
http:\\localhost\PHPLESSON\PHP_ file001.php
৩.        welcome.txt  ফাইলটি ওপেন হবে ।

fopen এরপর ব্রাকেটে দুটি জিনিস আছে একাটি “welcome.txt” অর্থাৎ এই নামের ফাইলটি খুলবে এবং দ্বিতীয়টি “r” এটা একটা প্যারামিটার যেটা দিয়ে ঠিক করে  দেয়া যায় ফাইলটি কোন মোডে খুলবে। এখানে “r” দেয়া আছে তাই এটি read only মোডে খুলবে।
এরকম আরো কিছু প্যারামিটার

Modes
Description
r
Read only. Starts at the beginning of the file
r+
Read/Write. Starts at the beginning of the file
w
Write only. Opens and clears the contents of file; or creates a new file if it doesn't exist
w+
Read/Write. Opens and clears the contents of file; or creates a new file if it doesn't exist
a
Append. Opens and writes to the end of the file or creates a new file if it doesn't exist
a+
Read/Append. Preserves file content by writing to the end of the file
x
Write only. Creates a new file. Returns FALSE and an error if file already exists
x+
Read/Write. Creates a new file. Returns FALSE and an error if file already exists
যদি নির্দিষ্ট ফাইলটি fopen() function টি খুলতে ব্যার্থ হয় তাহলে নিচের মত কোডটি লিখে একটা মেসেজ  দেখানো হয়
<html>
<body>
<?php
$file=fopen("welcome.txt","r") or exit("Unable to open file!");
?>
</body> </html>
একটা ফাইল ক্লোজ করা
fopen() function দিয়ে  খোলা কোন ফাইল বন্ধ করা যায়।
<?php
$file = fopen("test.txt","r");
//some code to be executed
fclose($file);
?>
End-Of-File চেক করা
এটা দিয়ে ফাইলের শেষে পৌঁছাল কিনা তা চেক করা হয়।
If (feof($file)) echo “End of file”;
এটা লুপিং এর সময় কাজে লাগে।

একটা ফাইল Line by Line পড়া
fgets()function টি দিয়ে পিএইচপি তে একটি একটি করে লাইন পড়া যায়। এই ফাংশনটি কল করার সাথে সাথে ফাইল নির্দেশকটি পরের লাইনে চলে যায় । নিচের উদাহরণে দেখুন এটি একটি একটি করে লাইন পড়বে শেষে না পৌঁছানো  পর্যমত্ম।
<?php
$file = fopen("welcome.txt", "r") or exit("Unable to open file!");
//Output a line of the file until the end is reached
while(!feof($file))
{
echo fgets($file). "<br />";
}
fclose($file);
?>





Character by Character একটা ফাইল পড়া
Fgets()function টি একটা ফাইল থেকে একটা একটা করে  অক্ষর পড়বে।
নিচের উদাহরণটি ফাইল থেকে একটি একটি করে  অক্ষর পড়বে।
<?php
$file=fopen("welcome.txt","r") or exit("Unable to open file!");
while (!feof($file))
{
echo fgetc($file);
}
fclose($file);
?>
ফাইল আপলোড
সার্ভারে ফাইল আপলোড করতে হলে আপনাকে কিছু বিষয়ে সতর্ক থাকতে হবে। ফাইলের নাম, সাইজ এবং ফরম্যাট। চলুন কিভাবে ফাইল আপলোড করতে হয় তা দেখি।

প্রথমেই একটি আপলোড করার জন্যে একটি PHP_FileUpload.php  ফাইল বা পেজ ডিজাইন করি।
ফর্মটি তৈরির জন্য নিম্নোক্ত পদক্ষেপগুলো গ্রহণ করুনঃ
১.      আপনার এডিটর notepad++/Dreamweaver/Net beans ওপেন করুন।
২.        নিচের কোড টুকু প্রাকটিস করুন।
৩.        লক্ষ্য করুন, যখন ফর্মটি সাবমিট করা হবে তখন কোন কনমেন্ট-টাইপ ব্যবহৃত হবে তা নির্ধারণ করে <form> ট্যাগের ভেতর থাকা enctype অ্যাট্রিবিউটটি। যখন একটি ফর্মের বাইনারি ডেটার প্রয়োজন পড়ে তখন ’’multipart/form-data” ব্যবহৃত হয়। <input> ট্যাগের type= “file” অ্যাট্রিবিউটটি নির্ধারণ করে দেয় যে ইনপুটটি একটি ফাইল হিসেবে গননা করা হবে।

<html>
<body>
<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
</form>
</body> </html>
৪.        ফাইলটি  FileUpload.php নামে সেভ করুন।
ফলাফল :           এবার ব্রাউজারের অ্যাড্রেস বারে লিখুন।
http:\\localhost\PHPLESSON\ FileUpload.php


৫.        ব্রাউজারে নিম্নোক্ত  চিত্রের মত  ফলাফল প্রদর্শিত হবে।

এবার আপলোড স্ক্রিপ্ট তৈরি করে নেই।
আপলোড-স্ক্রিপ্ট তৈরি করা
1.                 এবার আমাদের ফাইল আপলোড করার জন্য স্ক্রিপ্ট তৈরি করতে হবে। এজন্য File_Upload                         ফোল্ডারটিতে upload_file.php নামের একটি ফাইল তৈরি করুন। এতে নিচের মতো করে কোড গুলো লিখুন।
<?php
if ($_FILES["file"]["error"] > 0)
  {
  echo "Error: " . $_FILES["file"]["error"] . "<br>";
  }
else
  {
  echo "Upload: " . $_FILES["file"]["name"] . "<br>";
  echo "Type: " . $_FILES["file"]["type"] . "<br>";
  echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
  echo "Stored in: " . $_FILES["file"]["tmp_name"];
  }
?>
2.                গ্লোবাল পিএইচপি $FILES অ্যারে ব্যবহার করে আপনি কোনো ক্লায়েন্টের কম্পিউটার থেকে রিমোট সার্ভারে ফাইল আপলোড প্রথম প্যারামিটারটি হলো ফর্মের ইনপুট নেম এবং দ্বিতীয় সূচিটি “name”, “type”, “size”, tmp_name” বা “error” হতে পারে। এটি নিচের মতোঃ
·        $FILES (“file”0 9”name”)- আপলোডকৃত ফাইলের নাম
·        $_FILES (“file”) (“type”) আপলোডকৃত ফাইলের টাইপ বা ধারন
·        $ FILES (“file”) (“size) আপলোডকৃত ফাইলের বাইট সাইজ
·        $_FILES (“file”) (tmp_name”) সার্ভারে সংরক্ষিত ফাইলের temporary কপির নাম
$_FILES (“file”) (“error”) আপলোডকৃত ফাইলের কোডের এরর ফলাফল প্রদান করে 
৩.     এবার ব্রাউজারে ফাইল সিলেক্ট করে সাবমিট বাটনে প্রেস করুন, নিচের মতো ফলাফর দেখতে পাবেন।

আপনি যদি এই ফর্মটির মাধ্যমে আপনার কম্পিউটার থেকে কোনো ফাইল লোকালহোস্টে আপলোড করেন তবে তার সংক্ষিপ্ত পরিচিতি পেইজে প্রদর্শিত হবে।
এটি ফাইল আপলোড করার খুবই সাধারণ একটি উপায়। নিরাপত্তাজনিত কারণে ইউজারের আপলোডের উপর বিধি নিষেধ আরোপ করা উচিত।
আপলোডের ক্ষেত্রে বিধি নিষেধ আরোপ:
আমরা এবার একটি স্ক্রিপ্ট তৈরি করবো যেখানো ফাইল আপলোডের উপর কিছু বিধি নিষেধ আরোপ করে দিব। অর্থাৎ ফাইলটি ধরন সাইজ উপর কতটুকু হবে তা বের করা। এতে ইউজার কেবল .gif বা .jpeg ফাইল আপলোড করতে পারবে এবং এর সাইজ অবশ্যই ২০ কিলোবাইটের নিচে হতে হবে। নিচের কোড গুলো প্রদর্শিত করি।
  1. আগের upload_file.php ফাইলটির একটি কপি অন্য কোথাও সংরক্ষণ করে (upload_file2.php নামে নতুন একটি ফাইলও তৈরি করতে পারেন) ওই ফাইলটি খুলুন। ফাইলটিতে নিচের মতো কোড লিখুন।
<?php
$allowedExts = array("jpg", "jpeg", "gif", "png");
$extension = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Error: " . $_FILES["file"]["error"] . "<br>";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br>";
    echo "Type: " . $_FILES["file"]["type"] . "<br>";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
    echo "Stored in: " . $_FILES["file"]["tmp_name"];
    }
  }
else
  {
  echo "Invalid file";
  }
?>
  1. ফাইলটি সেভ করুন। এবার ব্রাউজারের ফলাফল দেখতে পাবেন।
  2. ২০ কিলোবাইটের চাইতে বড় কোনো ফাইল আপলোড করার জন্য Browse বাটনে ক্লিক করে তা সিলেক্ট করুন। এরপর Submit বাটনে ক্লিক করুন। নিচের মতো বার্তা দেখতে পারবেন। অর্থাৎ আমাদের ফাইল সাইজটি বড় হওয়ার invalid file বার্তা দেখাচ্ছে।
নোটঃ ইন্টারন্টে এক্সপ্লোরার কর্তৃক jpeg ফাইলকে চেনার জন্য এর ধরনটি হতে হবে jepg এবং ফায়ারফক্সের ক্ষেত্রে এর ধরন হতে হবে jpeg
আপলোডকৃত ফাইলকে সেভ করা:
পূর্বের উদাহরণ আমরা দেখি ২০ কিলোবাইটের চাইতে ছোট কোনো ফাইল আপলোড করলে তা একটি অস্থায়ী কপি সার্ভারের PHP temp ফোল্ডারে জমা হয়। স্ক্রিপ্টটি শেষ হয়ে গেলেই এই অস্থায়ী কপিকৃত ফাইলটি অদৃশ্য হয়ে যায়। আপালোডকৃত ফাইলকে সংরক্ষণের জন্য আমাদের এটিকে ভিন্ন কোনো লোকেশনে কপি করে রাখতে হয়। এই স্ক্রিপ্টটি তৈরি করার জন্য নিচের পদক্ষেপগুলো গ্রহণ করুনঃ
1.                 আগের upload_file.php ফাইলটির একটি কপি অন্য কোথাও সংরক্ষণ করে (upload_file3.php নামে নতুন একটি ফাইলও তৈরি করতে পারেন) ওই ফাইলটি খুলুন।
2.                ফাইলটিতে নিচের মতো কোড লিখুন।
<?php
$allowedExts = array("jpg", "jpeg", "gif", "png");
$extension = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br>";
    echo "Type: " . $_FILES["file"]["type"] . "<br>";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";

    if (file_exists("upload/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      }
    }
  }
else
  {
  echo "Invalid file";
  }
?>
3.               ফাইলটি সেভ করুন।
4.                 কোডগুলো যে ফোল্ডারে সেভ করেছেন সেই file_Upload ফোল্ডারের ভেতর upload নামে একটি ফোল্ডার তৈরি করুন। আমাদের আপলোড করা ফাইলগুলো এই ফোল্ডাইে এসে জমা হবে।
5.                এবার ব্রাউজারের ফলাফল দেখতে পাবেন।
6.                ২০ কিলোবাইটের চাইতে বড় কোনো ফাইল আপলোড করার জন্য Browse বাটনে ক্লিক করে তা সিলেক্ট করুন। এরপর Submit বাটনে ক্লিক করুন। নিচের মতো বার্তা দেখতে পারবেন।
7.                এবার একটু আগে আপনার তৈরি করা upload ফোল্ডারে যান। দেখবেন সেখানে একটু আগে আপলোড করা ফাইলটি দেখা যাচ্ছে। 
Previous Post                                                                                           Next Post

  বিস্তারিত জানতে নিচের বইটি সংগরহ করে নিন।

Book Name: Mastering Microsoft  Word
Writer: Bappi Ashraf
Published By: Gyankosh Prokashani
Amount of Pages: 464
First Publish: October-2004
Last Edition: We've February-2015 edition. Future edition may be existed!
Book Price: BDT 350 (30% Discount)
 The writer of this book has told that he has written this book with the concept of "teach yourself". On the other hand, Web Design is a thing which is interesting to learn. He has also told that the book is full of fan and enjoyment so that a person can learn Web Design by himself by playing with the example projects of this book.  Book's CD Link below... 

 cd

RELATED POST LINKS BELOW ********************************************


 PART1 PHP কি, PHP ফাইল, XAMPP ইনস্টলেশন, ইনস্টলিং XAMPP
PART2:- PHP Syntax, ভেরিয়েবল  (Variable), ডিক্লেয়ারিং PHP ভেরিয়েবল, php ভেরিয়েবলে লেখার নিয়ম
PART3:- Operator, Arithmetic Operator, অ্যাসাইনমেন্ট অপারেটর, ইনক্রিমিন্টিং বা ডিক্রিমেন্টিং অপারেটর, কম্পারিজন অপারেটর, লজিক্যাল অপারেটর, অ্যারে অপারেটর

PART4:- Php echo, স্ট্রিং আউটপুট, একসাথে ভেরিয়েবল এবং স্ট্রিংকে echo
PART 5
PHP String, স্ট্রিং ক্যাটেনেশনস্ট্রিং এর লেন্থ নির্ণয়, সাব স্ট্রিং এর পজিশন, সাবস্ট্রিংকে খুঁজে বের করা
PART 6
Php- ডাটা টাইপ Php-অ্যারে, ডাটা টাইপ স্ট্রিং
PART 7 Php-অ্যারে, নিউমেরিক অ্যারে, অ্যাসোসিয়েটিভ অ্যারে
PART 8
PHP লুপ (loop), While loop, Do while লুপ, For loop, Foreach লুপ
PART 9
Break Statement, Continue Statement
PART 10
Php-ফাংশন, ফাংশন প্যারামিটার, ভ্যালু রিটার্ণ করা
PART 11
Php এবং HTML ফর্ম, হ্যান্ডেলিং Php- ফরম, get মেথড, post মেথড, Php Date() ফাংশন, Date - ডেট ফরমেট করা, Date – টাইমস্ট্যাম্প, PHP Date / Time ফাংশন

PART 12
পিএইচপি include, Reqire, Requireফাংশনের ব্যবহার
PART 13
Php ফাইল হ্যন্ডেলিং, ফাইল আপলোড, আপলোড-স্ক্রিপ্ট তৈরি করা, আপলোডের ক্ষেত্রে বিধি নিষেধ আরোপ, আপলোডকৃত ফাইলকে সেভ করা,
PART 14পিএইচপি কুকি (PHP Cookies), কুকি (Cookie)কি, কুকিতৈরি, কুকি পুনরুদ্ধারকরা, কুকি মুছে ফেলা, পিএইচপি: -মেইল প্রেরণ, PHP secure Email,



PHP_Part 14_পিএইচপি কুকি





পিএইচপি কুকি (PHP Cookies)
কুকি (Cookie )কি?
কুকি অধিকাংশ সময়ই একজন ইউজারকে সনাক্ত করতে ব্যবহৃত হয়। কুকি হলো ছোট একটি ফাইল যা কোনো সার্ভার ইউজারের কম্পিউটারের এমবেড করে দেয়। প্রতিবার একই ব্রাউজারের মাধ্যমে একটি পেইজের অনুরোধ পাঠালে তা কুকিকেও পাঠায়। PHP তে আপনি কুকির ভ্যালুকে তৈরি এবং পুনরুদ্ধার উভয়ই করতে পারবেন।

কুকি তৈরি
কুকি করার জন্য setcookie ( ) ফাংশন ব্যবহার করা হয়। setcookie ( ) ফাংশটির অবশ্যই <html> ট্যাগের পূর্বে লেখা হবে।
কুকি লেখার নিয়মটি হলঃ
Setcookie( name, value, expire, path, domain)
চলুন এবার একটি কুকি তৈরি করি। এজন্য নিচের পদক্ষেপগুলো গ্রহণ করুনঃ
  1. htooes ফোল্ডারের মধ্যে থাকা বুক নামের ফোল্ডার ভেতর Cookie নামে একটি ফোল্ডার তৈরি করুন।
  2. ইতোমধ্যে আমরা পিএইচপি তে যেসব কাজ করেছি সেগুলোর মধ্যে থেকে যেকোনো একটি প্রজেক্ট কপি করে এই ফোল্ডারে এনে পেস্ট করুন।
  3. এবার ফাইলটিকে রিনেম করে এর নাম দিন user.php
  4. ফাইলটি ড্রিমওয়েভার বা নোটপ্যাডের খুলুন।
  5. এর একেবারে উপরে <html> ট্যাগের আগে নিচের কোডটুকু পেস্ট করুন।
<?php
setcookie("user", "Dupur Ashraf", time()+3600);
?>
  1. পুরো কোডটুকু দেখতে নিচের মতো হবে।
<?php
setcookie("user", "Dupur Ashraf", time()+3600);
?>
<html>
<head>
<title>My First PHP Page</title>
</head>
<body>
<?php
echo "WelCome To NovaComputer  ";
echo "WelCome To NovaComputer ! ";
echo "WelCome To NovaComputer ! ";
echo "WelCome To NovaComputer ! ";
echo "WelCome To NovaComputer ! ";
?> </body> </html>
  1. ফাইলটি সেভ করুন।
  2. এই ফাইলে আমরা “Dupur Ashraf” ভ্যালুটিকে অ্যাসাইন করেছি। আপনি এই নামের বদলে আপনার জন্য প্রযোজ্য নাম অ্যাসাইন করুন। আমরা আরও নির্দিষ্ট করে দিয়েছি যে কুকিটি ১ ঘন্টা পরই মেয়াদহীন হয়ে পড়বে।
আপনি কুকিটির মেয়াদ উত্তীর্ণের সময়কে আরেকটি উপায়ে সেট করে দিতে পারেন। এটি সেকেন্ড ব্যবহারের চাইতে সহজ হবে। এক্ষেত্রে কুকি তৈরির কোডটুকুতে উপরের উদাহরণের অংশের বদলে নিচের কোডটুকু বসাতে হবেঃ
<?php
$expire=time()+60*60*24*30;
setcookie("user", "Dupur Ashraf", $expire);
?>
<html>
এই কোডের মাধ্যমে আমরা মেয়াদের সময়সীমা ১ মাস (60 sec * 60 min * 24 hours * 30 days) নির্ধারণ করেছি।

কুকি পুনরুদ্ধার করা
কোনো কুকির ভ্যালুকে পুনরুদ্ধারের জন্য $_COOKIE ভেরিয়েবলটি ব্যবহৃত হয়। চলুন একটি উদাহরণ দেখি। এজন্য নিচের পদক্ষেপগুলো গ্রহণ করুনঃ
1.                 htdoes ফোল্ডারের মধ্যে থাকা PHPLESSON নামের ফোল্ডারের ভেতরের cookie ফোল্ডারটিতে user2.php নামের একটি ফাইল তৈরি করুন।
2.                ফাইলটি খুলে নিচের কোড গুলো লিখুন।
3.               ফাইলটি সেভ করুন।
<html>
<body>
<?php
if (isset($_COOKIE["user"]))
  echo "Welcome " . $_COOKIE["user"] . "!<br>";
else
  echo "Welcome guest!<br>";
?>
</body> </html>
4.                 এবার ব্রাউজারের অ্যাড্রেসবারে http://localhost/PHPLESSON/cookie/user2.php লিখে এন্টার চাপুন। ফলাফল দেখতে পাবেন।
5.                উপরের চিত্রের মতো একই ধরনের ফলাফল যে আপনার ব্রাউজারে দেখাবে তা নয় বরং আপনি যদি আপনার কুকি তৈরি করার সময় ভিন্ন কোনো নাম ব্যবহার করে থাকেন তবে সেটি প্রদর্শিত হবে।

যদি কোন কুকি সেট করা থাকে তবে তা বের করার জন্য আমরা isset ( ) ফাংশন ব্যবহার করতে পারি। এজন্য নিচের মতো কোডগুলো লিখে তা কোনো পিএইচপি ফাইল হিসেবে সংরক্ষণ করে ব্রাউজারে প্রদর্শন করে আপনি ফলাফল দেখতে পারেন।
কুকি মুছে ফেলা:
কুকি মুছে ফেলার আগে আপনাকে নিশ্চিত হতে হবে যে মেয়াদের সময়সীমা বিগত হয়েছে। কুকি ডিলিট করার কোড নিচে উল্লেখ করা হলো।
<?php
// set the expiration date to one hour ago
setcookie("user", "", time()-3600);
?>
কোনো ব্রাউজার কুকিকে সমর্থন না করলে কি হবে?
যদি আপনার অ্যাপ্লিকেশনটি ব্রাউজার নিয়ে কাজ করে যা কুকিকে সমর্থন করে না তাহলে আপনাকে আপনার অ্যাপ্লিকেশেনের এক পেইজ থেকে অন্য পেইজে তথ্য পাঠাতে অন্যান্য পদ্ধতি ব্যবহার করতে হবে। একটি পদ্ধতি হলো তথ্যকে ফর্মের মাধ্যমে পাঠানো।
নিচের কোড টুকু দেখুন। ইউজার যখন “Submit” এ ক্লিক করবে তখন এই ফর্মটি ইউজার ইনপুটকে “Welcome,.php” নামক ফাইলে পাঠিয়ে দেবে।
<html>
<body>
<form action="welcome.php" method="post">
Name: <input type="text" name="name">
Age: <input type="text" name="age">
<input type="submit">
</form>
</body>
</html>
আর পাসকৃত ভ্যালু ফিরে পেতে আপনাকে নিচের মত করে GET ()/POST () মেথড ব্যবহার করতে হবে।
<html>
<body>
Welcome <?php echo $_POST["name"]; ?>.<br>
You are <?php echo $_POST["age"]; ?> years old.
</body> </html>
পিএইচপি: ই-মেইল প্রেরণ:
PHP আপনাকে একটি স্ক্রিপ্ট থেকে সরাসরি ই-মেইল প্রেরণে সুযোগ দেবে।
PHP mail ( ) ফাংশন -PHP mail ( ) ফাংশন ই-মেইল প্রেরনের জন্য ব্যবহৃত হয়ে থাকে। এর সিনট্যাক্সটি হলোঃ

প্যারামিটার
বর্ণনা
to
ই-মেইল গ্রহীতা/গ্রহীতাদের নির্দিষ্ট করে, এটি আবশ্যক।
subject
ই-মেইলের বিষয়বস্ত্ত নির্দিষ্ট করে। নোটঃ এই প্যরামিটারটি কোনো নতুন লাইন ক্যারেক্টারসমূহ বহন করতে পারে না
message
 যে মেসেজটি প্রেরণ করা হবে সেটি নির্ধারণ করে। প্রতিটি লাইন একটি LF (n) দ্বারা পৃথক হতে হবে। লাইন ৭০ ক্যারেক্টারের বেশি অতিক্রম করা উচিত নয়।
headers
অ্যাডিশনার হেডারসমূহ, ফর্ম, Cc Bcc। অতিরিক্ত হেডারটি একটি CRLF (\r\n) দ্বারা পৃথক হওয়া উচিত।
parameters
সেন্ডমেইল প্রোগ্রামে একটি অ্যাডিশনাল প্যারামিটার নির্দিষ্ট করে ঐচ্ছিক।

মেইল ফাংশনটি পাওয়ার জন্য পিএইচপি কে একটি ইন্সটলকৃত এবং কার্যশীল ই-মেইল সিস্টেমের প্রয়োজন হয়। প্রোগ্রামটি ব্যবহৃত হওয়ার জন্য তা Php.ini ফাইলের কনফিগারেশন সেটিংস এর মাধ্যমে নির্ধারণ করা হয়।

সাধারণ পিএইচপি (PHP) ই-মেইল
PHP এর মাধ্যমে একটি ই-মেইল প্রেরণের সহজ উপায় হলো এটিকে একটি টেক্সট ই-মেইল পাঠানো। নিচের কোড টুকু দেখুন। এখানে ই-মেইল প্রেরণের উদ্দেশ্যে প্রথমে ভেরিয়েবলসহ ($to, $subject, $message, $from, $headers) ডিক্লেয়ার করে পরবর্তীতে ভেরিয়েবলগুলোকে mail ( ) ফাংশনের মধ্যে ব্যবহার করা হয়।
১.      আপনার এডিটর notepad++/Dreamweaver/Net beans ওপেন করুন।  নিচের কোড টুকু প্রাকটিস করুন
<?php
$to = "hira_shonkhochil@ymail.com";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "someonelse@example.com";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
echo "Mail Sent.";
?>


পিএইচপি (PHP) মেইল ফর্ম
PHP এর মাধ্যমে আপনি আপনার ওয়েব সাইটে একটি ফিডব্যাক ফর্ম তৈরি করতে পারেন যা থেকে সাধারন ব্যবহার করার মেইল প্রেরন।
নিচের উদাহণটি দেখুন।
1.                  htdoes ফ্লোল্ডারের মধ্যে PHPLESSON নামের ফোল্ডাটিতে PHP_Email002.php নামে একটি ফাইল তৈরি করুন।
2.                 ফাইলটিতে নিচের মতো কোড লিখুন।
<html>
<body>
<?php
if (isset($_REQUEST['email']))
//if "email" is filled out, send email
  {
  //send email
  $email = $_REQUEST['email'] ;
  $subject = $_REQUEST['subject'] ;
  $message = $_REQUEST['message'] ;
  mail("someone@example.com", $subject,
  $message, "From:" . $email);
  echo "Thank you for using our mail form";
  }
else
//if "email" is not filled out, display the form
  {
  echo "<form method='post' action='mailform.php'>
  Email: <input name='email' type='text'><br>
  Subject: <input name='subject' type='text'><br>
  Message:<br>
  <textarea name='message' rows='15' cols='40'>
  </textarea><br>
  <input type='submit'>
  </form>";
  }
?>
</body> </html>
ফাইলটি সেভ করুন।
3.                 ব্রাউজারের অ্যাডেসবারে http://localhost/PHPLESSON/PHP_Email002.php লিখে এন্টার চাপুন।
4.                   নিচের মতো ফলাফল দেখতে পাবেন।

5.                 উপরের কোন অনুযায়ী এই সিস্টেমটি প্রথমে দেখে নেবে ই-মেইল ইনপুট ফিল্ডটি পূর্ণ হয়ে গেছে কিনা। যদি তা না হয় (প্রথম যখন পেইজটি ভিজিট করা হবে সেই অবস্থার মতো) তবে ফর্মটির HTML আউটপুট দেবে। যদি এটি সেট হয়ে যায় (ফর্মটি পূরণ হয়ে যাবার পর) ই-মেইলটিকে ফর্ম থেকে প্রেরণ করবে। ফরমটি পূরণ করার পর যখন সাবমিট চাপা হবে তখন পেইজটি রিলোড হবে।

উপরের পদ্ধতিতে সহজ উপায়ে মেইল পাঠানো গেলেও এটি সুরক্ষিত নয়। অনুমোদিত ব্যবহারকারীরা এটির অনুপুট ফর্ম এর মাধ্যমে মেইলের হেডারে তথ্য সংযোজন করতে পারে। ফর্মের ই-মেইল ইনপুট ফিল্ডে যদি ব্যবহারকারীরা নিচের টেক্সগুলো যোগ করে তবে কেমন হবে বলুন তো?

mail( ) ফাংশন স্বভাবতই উপরের টেক্সটকে মেইল হেডারসমূহের ভেতর বসিয়ে নেবে এবং তখন হেডারের মধ্যে একটি বাড়তি Cc:, Bcc: এবং ফিল্ড থাকবে। ব্যবহারকারী যখন সাবমিট বাটনে ক্লিক করবে তখন ই-মেইলটি উপরের সবগুলো ঠিকানায় প্রেরিত হবে।
PHP secure Email
কেউ যেন আপনার ই-মেইলের সাথে নিজস্ব তথ্য সংযোজন বিয়োজন করতে না পারে অর্থাৎ আপনার ই-মেইলে ইনজেকশন বন্ধ করার জন্য সবচেয়ে ভালো উপায় হলো ইনপুটকে ভ্যালিডেট করা। একটি ইনপুট ভ্যারিডেটর যোগ করা হয়েছে যেটি ফর্মের মধ্যে ই-মেইল ফিল্ডকে পরীক্ষা করে দেখবে। নিচের পদক্ষেপগুলো গ্রহণ করুনঃ
1.                 htdoes ফ্লোল্ডারের মধ্যে PHPLESSON নামের ফোল্ডাটিতে PHP_Email003.php নামে একটি ফাইল তৈরি করুন। ফাইলটিতে নিচের মত কোড লিখুন।
<html>
<body>
<?php
function spamcheck($field)
  {
  //filter_var() sanitizes the e-mail
  //address using FILTER_SANITIZE_EMAIL
  $field=filter_var($field, FILTER_SANITIZE_EMAIL);
  //filter_var() validates the e-mail
  //address using FILTER_VALIDATE_EMAIL
  if(filter_var($field, FILTER_VALIDATE_EMAIL))
    {
    return TRUE;
    }
  else
    {
    return FALSE;
    }
  }
if (isset($_REQUEST['email']))
  {//if "email" is filled out, proceed
  //check if the email address is invalid
  $mailcheck = spamcheck($_REQUEST['email']);
  if ($mailcheck==FALSE)
    {
    echo "Invalid input";
    }
  else
    {//send email
    $email = $_REQUEST['email'] ;
    $subject = $_REQUEST['subject'] ;
    $message = $_REQUEST['message'] ;
    mail("someone@example.com", "Subject: $subject",
    $message, "From: $email" );
    echo "Thank you for using our mail form";
    }
  }
else
  {//if "email" is not filled out, display the form
  echo "<form method='post' action='mailform.php'>
  Email: <input name='email' type='text'><br>
  Subject: <input name='subject' type='text'><br>
  Message:<br>
  <textarea name='message' rows='15' cols='40'>
  </textarea><br>
  <input type='submit'>
  </form>";
  }
?>
</body> </html>
2.                ফাইলটি সেভ করুন।
3.               ব্রাউজারের অ্যাড্রেসবারে ://localhost/PHPLESSON/PHP_Email003.php লিখে এন্টার দিন। আগের চেয়ে সুরক্ষিত কিন্তু একই রকম ফর্ম আসবে।


Previous Post                                                                                           Next Post

  বিস্তারিত জানতে নিচের বইটি সংগরহ করে নিন।

Book Name: Mastering Microsoft  Word
Writer: Bappi Ashraf
Published By: Gyankosh Prokashani
Amount of Pages: 464
First Publish: October-2004
Last Edition: We've February-2015 edition. Future edition may be existed!
Book Price: BDT 350 (30% Discount)
 The writer of this book has told that he has written this book with the concept of "teach yourself". On the other hand, Web Design is a thing which is interesting to learn. He has also told that the book is full of fan and enjoyment so that a person can learn Web Design by himself by playing with the example projects of this book.  Book's CD Link below... 

 cd

RELATED POST LINKS BELOW ********************************************

PART1 :- PHP কি, PHP ফাইল, XAMPP ইনস্টলেশন, ইনস্টলিং XAMPP

PART3:- Operator, Arithmetic Operator, অ্যাসাইনমেন্ট অপারেটর, ইনক্রিমিন্টিং বা ডিক্রিমেন্টিং অপারেটর, কম্পারিজন অপারেটর, লজিক্যাল অপারেটর, অ্যারে অপারেটর


PART 10
PART 11

Php এবং HTML ফর্ম, হ্যান্ডেলিং Php- ফরম, get মেথড, post মেথড, Php Date() ফাংশন, Date - ডেট ফরমেট করা, Date – টাইমস্ট্যাম্প, PHP Date / Time ফাংশন

PART 12

PART 13
Php ফাইল হ্যন্ডেলিং, ফাইল আপলোড, আপলোড-স্ক্রিপ্ট তৈরি করা, আপলোডের ক্ষেত্রে বিধি নিষেধ আরোপ, আপলোডকৃত ফাইলকে সেভ করা,
PART 14 পিএইচপি কুকি (PHP Cookies), কুকি (Cookie )কি, কুকি তৈরি, কুকি পুনরুদ্ধার করা, কুকি মুছে ফেলা, পিএইচপি: ই-মেইল প্রেরণ, PHP secure Email,