PHP ফাইল আপলোড
- Previous Page PHP File Create/Write
- Next Page PHP Cookies
PHP দ্বারা ফাইলকে সার্ভারে আপলোড করা যায়。
একটি ফাইল আপলোড ফর্ম তৈরি করুন
ব্যবহারকারীদের ফর্ম থেকে ফাইল আপলোড করার অনুমতি দেওয়া খুবই উপযোগী।
নিচের এই হল ফাইল আপলোড করার HTML ফর্ম:
<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>
এই ফর্ম সম্পর্কে নিম্নলিখিত তথ্যকে নজরে রাখুন:
<form> ট্যাগের enctype এটি নির্দিষ্ট করে যে, ফর্ম সম্পাদন করার সময় কোনও কনটেন্ট টাইপ কীভাবে ব্যবহার করা হবে। ফর্মটি দ্বারা বাইনারি ডাটা, যেমন ফাইল কনটেন্ট, আপলোড করতে হলে, "multipart/form-data" ব্যবহার করুন。
<input> ট্যাগের type="file" এটি বৈধতা নির্দিষ্ট করে যে, ইনপুটটিকে ফাইল হিসাবে হবে যা প্রক্রিয়াজাত করা হবে। উদাহরণস্বরূপ, ব্রাউজারে পূর্বদৃশ্য করার সময়, ইনপুট বাক্স পাশে একটি ব্রাউজ বাটন দেখা যাবে。
Note:ব্যবহারকারীদের ফাইল আপলোড করার অনুমতি দেওয়া একটি বড় নিরাপত্তা ঝুঁকি। শুধুমাত্র আধিকারিক ব্যবহারকারীদেরকেই ফাইল আপলোড করার অনুমতি দেওয়া হবে。
আপলোড স্ক্রিপ্ট তৈরি করুন
ফাইল "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"]; } ?>
PHP-র সমগ্র আইনক্রমিক সংখ্যা $_FILES-এর মাধ্যমে, ক্লিয়েন্ট কম্পিউটার থেকে দূরস্থ সার্ভারে ফাইল আপলোড করা যায়।
প্রথম পারামিটার ফর্মের input name, দ্বিতীয় সূচক "name", "type", "size", "tmp_name" বা "error" হতে পারে। এইভাবে:
- $_FILES["file"]["name"] - আপলোড করা ফাইলের নাম
- $_FILES["file"]["type"] - আপলোড করা ফাইলের ধরন
- $_FILES["file"]["size"] - আপলোড করা ফাইলের মাপ, বাইটে পরিমাপ
- $_FILES["file"]["tmp_name"] - সার্ভারে স্থায়ীভাবে সংরক্ষিত ফাইলের অস্থায়ী কপির নাম
- $_FILES["file"]["error"] - ফাইল আপলোড করার সময় উদ্ভূত ত্রুটির কোড
এটি একটি অত্যন্ত সহজ ফাইল আপলোড পদ্ধতি। নিরাপত্তার দিক থেকে চিন্তা করে, আপনি কোন ব্যবহারকারীর কাছে ফাইল আপলোড করার অনুমতি দিতে হবে।
আপলোড সীমাবদ্ধতা
এই স্ক্রিপ্টে, আমরা ফাইল আপলোডের সীমাবদ্ধতা যোগ করেছি। ব্যবহারকারীরা কেবল .gif বা .jpeg ফাইল আপলোড করতে পারবে, ফাইলের মাপ 20 kb-র নীচে হতে হবে:
<?php if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/pjpeg")) && ($_FILES["file"]["size"] < 20000)) { 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"; } ?>
Note:IE ক্ষেত্রে, jpg ফাইলের ধরনটি pjpeg হতে হবে, FireFox ক্ষেত্রে, jpeg হতে হবে。
আপলোড করা ফাইলটি সংরক্ষণ
উপরোক্ত উদাহরণ সার্ভারের PHP অস্থায়ী ফোল্ডারে একটি আপলোড করা ফাইলের অস্থায়ী কপি তৈরি করেছে。
এই অস্থায়ী কপি ফাইল স্ক্রিপ্টের সমাপ্তির সঙ্গে নাশ হবে। আপনি আপলোড করা ফাইলটি সংরক্ষণ করতে, আমরা তাকে অন্য স্থানে কপি করতে হবে:
<?php if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/pjpeg")) && ($_FILES["file"]["size"] < 20000)) { if ($_FILES["file"]["error"] > 0) { echo "রিটার্ন কোড: " . $_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"; } ?>
The script above checks if the file already exists, and if not, copies the file to the specified folder.
Note:This example saved the file to a new folder named "upload".
- Previous Page PHP File Create/Write
- Next Page PHP Cookies