পিএইচপি স্ক্রিপ্টের মাধ্যমে বড় ফাইল ডাউনলোড করতে, কোডটি নিম্নরূপ -
উদাহরণ
<?php function readfile_chunked($filename,$retbytes=true) { $chunksize = 1*(1024*1024); // how many bytes per chunk the user wishes to read $buffer = ''; $cnt =0; $handle = fopen($filename, 'rb'); if ($handle === false) { return false; } while (!feof($handle)) { $buffer = fread($handle, $chunksize); echo $buffer; if ($retbytes) { $cnt += strlen($buffer); } } $status = fclose($handle); if ($retbytes && $status) { return $cnt; // return number of bytes delivered like readfile() does. } return $status; } ?>
আউটপুট
এটি নিম্নলিখিত আউটপুট −
তৈরি করবেThe large file will be downloaded.
'readfile_chunked' (ব্যবহারকারীর সংজ্ঞায়িত) ফাংশনটি দুটি প্যারামিটারে নেয়- ফাইলের নাম এবং ফেরত আসা বাইটের সংখ্যার জন্য 'true'-এর ডিফল্ট মান যার অর্থ হল বড় ফাইলগুলি সফলভাবে ডাউনলোড করা হয়েছে। ভেরিয়েবল 'চঙ্কসাইজ' প্রতি খণ্ডে বাইটের সংখ্যা দিয়ে ঘোষণা করা হয়েছে যা পড়তে হবে। 'বাফার' ভেরিয়েবলটিকে নাল এসাইন করা হয়েছে এবং 'cnt' 0 এ সেট করা হয়েছে। ফাইলটি বাইনারি রিড মোডে খোলা হয়েছে এবং ভেরিয়েবল 'হ্যান্ডেল' বরাদ্দ করা হয়েছে।
যতক্ষণ না 'হ্যান্ডেল'-এর ফাইলের শেষের দিকে পৌঁছানো হয়, ততক্ষণ পর্যন্ত লুপটি চালানো হয় এবং ফাইলের বিষয়বস্তুগুলি পড়ার প্রয়োজনের সংখ্যার ভিত্তিতে পড়ে। পরবর্তী এটি পর্দায় প্রদর্শিত হয়. যদি 'retbytes' (ফাংশনের দ্বিতীয় প্যারামিটার) মান সত্য হয়, বাফারের দৈর্ঘ্য 'cnt' ভেরিয়েবলে যোগ করা হয়। অন্যথায়, ফাইলটি বন্ধ হয়ে যায় এবং 'cnt' মান ফেরত দেওয়া হয়। শেষ পর্যন্ত, ফাংশনটি 'স্থিতি' প্রদান করে।