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 | পরের অংশে যোগাযোগ করুন। এই টিউটোরিয়ালে অংশগ্রহনের জন্য ধন্যবাদ। শুভবিদায়। |