PHP-and-MySQL/C4/File-Upload-Part-1/Bengali
From Script | Spoken-Tutorial
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 | পরের অংশে যোগাযোগ করুন। এই টিউটোরিয়ালে অংশগ্রহনের জন্য ধন্যবাদ। শুভবিদায়। |