PHP-and-MySQL/C4/File-Upload-Part-1/Bengali

From Script | Spoken-Tutorial
Jump to: navigation, search
Time Narration
00:00 এই টিউটোরিয়ালে একটি সহজ php আপলোড স্ক্রিপ্ট বানানো শেখাবো।
00:05 এটি upload dot php ফাইলে আরো একটু উন্নত হবে।
00:10 index dot php ব্যবহার করব। ইউসারকে একটি ফর্ম দিতে প্রধানত html কোড ব্যবহার করব যাতে সেটি এই বিশেষ ফাইলে জমা করতে পারে।
00:20 upload dot php তে এই ফাইলটি প্রসেস করব, কিছু তথ্য অর্জন করব, যেমনকি নাম, ধরণ, সাইজ, অস্থায়ী সঞ্চিত নাম এবং কোনো এরর বার্তা যদি পেয়ে থাকে।
00:33 এরর সূচনার ব্যবহার এটি জানতে করতে পারি যে সেটি পাওয়া গেছে কি নয়।
00:38 তারপর ফাইল প্রসেস করছি এবং সেটি ওয়েব সার্ভারে একটি নির্দিষ্ট ডিরেক্টরিতে সংরক্ষণ করব।
00:45 এই টিউটোরিয়ালের দ্বিতীয় অংশে, আমি বলব যে কিভাবে নির্দিষ্ট ফাইলের ধরণ যাচাই করে যাতে এটি ফাইল টাইপের থেকে রক্ষা করতে পারেন।
00:54 আমরা এও শিখব ফাইলের ফাইল সাইজ কিভাবে যাচাই করে যাতে আপনার কাছে সর্বোচ্চ এবং সর্বনিম্ন ফাইল সাইজ থাকে।
01:04 তাই এখানে uploaded নামে ফোল্ডার বানিয়েছি যাতে index এবং upload dot php ফাইল বানিয়েছি।
01:13 একবার সেটি আপলোড হলে এখানে আমার ফাইল সঞ্চিত হচ্ছে।
01:17 ফাইল আপলোড করা হলে শুরুতে সেটি ওয়েব সার্ভারে একটি অস্থায়ী এলাকায় চলে যায় নাকি সেই ফোল্ডারে।
01:25 html এর জন্য একটি ফর্ম বানাতে হবে. এটি করতে একটি form action রয়েছে এবং একটি নির্দিষ্ট action রয়েছে যা হল upload dot php এবং আমরা এখানে ফাইল বানিয়েছি।
01:38 method কে POST রূপে সেট করেছি। এর কারণ হল এটি GET ভ্যারিয়েবলে সংরক্ষণ করার দরকার নেই।
01:45 কেন? কারণ নিরাপত্তার কারণে আমি চাই না যে ওয়েবসাইটে পাঠানো binary data ইউসার দেখুক।
01:53 সেখানে GET ভ্যারিয়েবলে একশ অক্ষরের সীমা রয়েছে।
01:58 আপনার কাছে খুব ছোট ফাইল হবে যদি ডেটার শুধুমাত্র একশ বিট থাকে।
02:04 ঠিক আছে, এখানে আরেকটি প্যারামিটার রয়েছে যা আপনি এর আগে শোনেন নি।
02:11 এটি হল enctype, এনকোডিং টাইপ যার মানে আমরা কিভাবে এটি এনকোড করতে যাচ্ছি।
02:20 এটি multi-part হবে এবং আমাদের একটি ফরওয়ার্ড স্ল্যাশ এবং তারপর এর ফর্ম data প্রয়োজন।
02:28 সংক্ষেপে, এর মানে আমরা এই ফর্ম ডেটার আকারে জমা করছি - অর্থাৎ, binary data - শূণ্য এবং এক যা আমি এখানে আগেই বলেছি।
02:40 ঠিক আছে, আমরা টাইপ পেয়েছি যাতে এটি এনকোড হতে যাচ্ছে। আমরা এখানে ফর্ম শেষ করব।
02:50 আমার আমাদের ফাইলের জন্য ইনপুট হিসাবে কিছু এলিমেন্টের প্রয়োজন।
02:57 এই type কে file রূপে সেট করা হয়েছে এবং আমরা এটিকে বিশেষরূপে myfile বলবো।
03:04 ঠিক আছে - প্যারাগ্রাফ এখানে শেষ হয় এবং তারপর আমাদের শুধু সাবমিট বোতামের প্রয়োজন।
03:12 ঠিক আছে, এখন এটি দেখি। এটিকে বন্ধ করি।
03:18 file upload এ টিপুন। ওহ - ফিরে যাই। Input- আমি এখানে 2 'u's লিখেছি।
03:27 ফিরে যাই. আপনি এখানে দেখতে পারেন আমরা ইনপুট পেয়ে গেছি।
03:31 এটি ব্রাউজ করতে পারি। এখানে ফাইলস রয়েছে যা আপলোড করতে পারি।
03:36 ঠিক আছে - তাই এটি ব্যবহার করতে আরো বেশী বন্ধুত্বপূর্ণ বানাই।
03:45 Upload a file. রিফ্রেশ করি। এখানে একটি সুন্দর পৃষ্ঠা পেয়েছি।
03:50 আমরা হেডার পেয়েছি এবং এখানে ফাইল আপলোড করার সম্ভাবনা পেয়েছি। সাথে দরকার হলে নিজে থেকেও লিখতে পারি।
03:58 এছাড়াও একটি আপলোড বোতাম রয়েছে যা upload dot php জমা করে।
04:04 upload dot php তে এই ফাইল প্রক্রিয়াকরণের একটি উপায় প্রয়োজন যা আমাদের ফর্ম থেকে জমা হয়েছে।
04:13 এটি করার উপায় হল dollar আন্ডারস্কোর FILES এর ব্যবহার। বাস্তবে এটি সঠিক নয়।
04:19 আমরা শুধু এর একটি উদাহরণ ইকো করে বলতে পারি যে এটি সঠিক নয়।
04:27 এটি করে আপলোডে টিপলে আমরা শুধু Array পেয়েছি কারণ এটি একটি অ্যারে।
04:33 যেহেতু এটি মাল্টিডাইমেনশনাল অ্যারে, বন্ধনীর প্রথম সেটে আপলোড করা ফাইলের নাম লিখব এবং ইনপুট বাক্সের নাম যা এখন থেকে এসেছে- যা হল myfile.
04:49 তাই এখানে myfile ব্যবহার করব এবং দ্বিতীয়টিতে অন্য অনেক বৈশিষ্ট্য হতে পারে এবং সবচেয়ে সহজ এবং সরল হল ফাইলের নাম।
04:59 upload form এ ফিরে গিয়ে intro dot avi চয়ন করি। এটি এখানে দেখানো হবে।
05:06 আপলোডে টিপি এবং পরবর্তী পৃষ্ঠায় intro dot avi দেখি।
05:11 এটি আমাদের upload dot php ফর্ম, দুঃখিত ফাইল।
05:16 এটি এইভাবে ছিল. এখন এটিকে একটি ভ্যারিয়েবলে সংরক্ষণ করি।
05:22 এরপর আমরা দেখব যে - আমি এটিকে এখন এখানে লিখব - ফাইলের ধরণ।
05:30 এটি হল ডলার আন্ডারস্কোর ফাইলস এবং রেফারেন্স myname ব্যবহার করব।
05:38 এর ভিতরে type হবে। এটি এই ধরনের বা এটি ইকো করব যাতে এটি দেখতে পারেন।
05:45 এটি রিফ্রেশ করি. এটিকে রিসেন্ড করুন এবং এখন এটি দেখুন - myfile.
05:54 এটি resend করলে video slash avi দেখি। আপনি এটি আগে হয়তো html এও দেখেছেন।
06:00 উদাহরণস্বরূপ - এটি image slash png বা image slash jpeg, image slash bmp, video slash avi এবং video slash mpeg বা অন্য কোনো ফরম্যাট হতে পারে।
06:11 এখন এখান থেকে দেখতে পারি এটি একটি avi ফাইল, তাই এটি type এ পেয়েছি।
06:18 আমরা বলতে পারি type এগুলির সমান।
06:22 এখন size দেখাচ্ছি। সময় বাঁচাতে এই কোড কপি করে এখানে পেস্ট করব এবং এই type কে size এ বদলে এটি ইকো করব।
06:30 আপনি দেখেন আপনার জমা করা ফাইলের e-property পাওয়া বেশ সহজ।
06:35 এই পৃষ্ঠাটি রিফ্রেশ করে resend এ টিপি এবং আমরা ফাইলের সাইজ পেতে পারি।
06:40 এখন আমরা এটিকে দশ লক্ষ বানাই - দশ লক্ষ bytes বাস্তবে এক ....
06:47 দুঃখিত, দশ লক্ষ বিটস এক মেগাবাইট হয়। myfile আসলে এক মেগা বাইট।
06:54 অতএব এখানে দশ লক্ষ মেগাবাইট ডেটা রয়েছে।
06:58 এখন এটিকে সাইজ নামক ভ্যারিয়েবলে সংরক্ষণ করি। ঠিক আছে?
07:05 এর পরেরটি বেশ গুরুত্বপূর্ণ যা হল temporary name.
07:09 এটি একটু আলাদাভাবে লেখা হয় যেমন টেম্পকে সংক্ষেপে tmp এবং তারপর আন্ডারস্কোর এবং name.
07:18 এটি ডিরেক্টরি দেবে যাতে এটি সাময়িকভাবে ততক্ষন সঞ্চিত থাকে যতক্ষণ এটিকে পছন্দের ফোল্ডারে পাঠানো না হয়।
07:25 পৃষ্ঠাটি রিফ্রেশ করি।
07:27 Resend এ টিপলে দেখি এটি xampp এ জমা হয়ে গেছে কারণ আমি এই অ্যাপ্লিকেশন ব্যবহার করছি।
07:33 কিন্তু apache ব্যবহার করলে php নিজে সংরক্ষণ করতে পারেন।
07:37 এখানে apache হবে এরপর অস্থায়ী ফাইলের নাম হবে।
07:41 এই নাম এলোমেলোভাবে তৈরী হয়েছে যাতে tmp এক্সটেনশন রয়েছে।
07:45 কিন্তু এই মুহূর্তে এর কোনো লাভ নেই।
07:48 এটিকে temp file বা temp রূপে সঞ্চিত করতে পারি। এটিকে ছোট রাখতে এটিকে temp লিখি।
07:55 অবশেষে error. এখন মূলত সবকিছু ঠিক হলে এটি শূন্য ইকো করবে।
08:00 আবার কপি-পেস্ট এবং এটিকে error এ বদলান।
08:03 এখন শূন্য পাওয়া উচিত কারণ সবকিছু সঠিকভাবে লেখা হয়েছে।
08:07 এটি কখনো নেগেটিভ ভ্যালু হবে না।
08:12 এটি শূন্যের বেশী হলে এর মানে এটি এরর কোড দিচ্ছে যার মানে একটি এরর রয়েছে।
08:21 এখন বলি যে আমরা এটিকে error নামক ভ্যারিয়েবললে সংরক্ষণ করব।
08:28 এখনকার জন্য এতটাই। এই টিউটোরিয়ালের দ্বিতীয় অংশে দেখাবো, কিভাবে ফাইলকে অস্থায়ী স্টোরেজ এরিয়া থেকে পছন্দের একটি নির্দিষ্ট এলাকায় এনে আপলোড করে।
08:39 এখন এই error ভ্যারিয়েবল ব্যবহার করব এই দেখতে যে যদি এখানে কোনো এরর থাকে।
08:45 এখানে এরর থাকলে এটি ইকো করে এরর কোড ব্যবহার করব।
08:49 না হলে এই temp নেবো এবং move uploaded file নামে বিশেষ ফাংশন ব্যবহার করে সেটি নেবো এবং এখানে ওয়েব সার্ভারে নির্মিত uploaded directory তে সংরক্ষণ করব।
09:01 এখন কিছু বৈশিষ্ট্য সম্পর্কে বলবো - এটি কি jpeg? হ্যাঁ, তাহলে jpeg ইমেজ আপলোড হওয়া বা নির্দিষ্ট ফাইলের সাইজ অস্বীকার করুন।
09:10 পরের অংশে যোগাযোগ করুন। এই টিউটোরিয়ালে অংশগ্রহনের জন্য ধন্যবাদ। শুভবিদায়।

Contributors and Content Editors

Satarupadutta