ভূমিকা
php:// র্যাপার বিভিন্ন I/O স্ট্রিমে এক্সেস সক্ষম করে। এতে স্ট্যান্ডার্ড ইনপুট, আউটপুট এবং এরর স্ট্রিম অন্তর্ভুক্ত। ইন-মেমরি, ডিস্ক-ব্যাকড এবং ফিল্টার্ড স্ট্রিমও php:// প্রোটোকল দিয়ে এক্সেস করা যায়।
স্ট্যান্ডার্ড স্ট্রিমস
php://stdin, php://stdout এবং php://stderr যথাক্রমে PHP প্রসেসের স্ট্যান্ডার্ড ইনপুট স্ট্রিম ডিভাইস, স্ট্যান্ডার্ড আউটপুট স্ট্রিম এবং এরর স্ট্রিমে ডায়রেক্ট এক্সেস দেয়। প্রিডিফাইনড কনস্ট্যান্ট STDIN, STDOUT এবং STDERR যথাক্রমে এই স্ট্রিমগুলোর প্রতিনিধিত্ব করে।
php://input
php://input HTTP রিকোয়েস্ট বডিতে থাকা র ডেটা রিড-অনলি এক্সেস দেয়। মনে রাখবেন, একই ডেটা $HTTP_POST_RAW_DATA ভেরিয়েবলে পাওয়া যায় (যা এখন ডিপ্রিকেটেড)। তবে, enctype attribute multipart/form-data সেট থাকলে php://input উপলব্ধ নয়।
php://output
এই র্যাপার রাইট-অনলি স্ট্রিম রিপ্রেজেন্ট করে, বাফার মেকানিজম অনুমতি দেয়, print এবং echo স্টেটমেন্টের মতো।
php://fd
এই র্যাপার দিয়ে একটি ফাইল ডেসক্রিপ্টর এক্সেস করা যায়। স্ট্যান্ডার্ড স্ট্রিম STDIN, STDOUT এবং STDERR যথাক্রমে ফাইল ডেসক্রিপ্টর 1, 2 এবং 3 পায়। অন্যান্য স্ট্রিমগুলো ক্রমাগত ফাইল ডেসক্রিপ্টর পায়। তাই php://fd/5 ফাইল ডেসক্রিপ্টর 5 কে রিপ্রেজেন্ট করে।
php://memory
এটি একটি রিড/রাইট স্ট্রিম যা ডেটা προσωরভাবে মেমরিতে সংরক্ষণ করতে দেয়। php://temp র্যাপারটি مشابه। তবে Последovatelatter-এ ডেটা মেমরির বদলে টেম্পোরারি ফাইলে সংরক্ষিত হয়।
php://filter
এই র্যাপার স্ট্রিম খোলার সময় ফিল্টার প্রয়োগ করার অনুমতি দেয়। ফিল্টার especialment readfile(), file_get_contents() এবং file() ফাংশনগুলোর সাথে কার্যকর।
উদাহরণ
নিচের উদাহরণে, কনসোল ইনপুট php://stdin-এ서 পড়া হয় এবং আউটপুট php://stdout-এ প্রদর্শিত হয়—
<?php $file = fopen("php://stdin", "r"); $x = fread($file, 10); echo $x; $out = fopen("php://stdout", "w"); fwrite($out, $x); fclose($file); ?>php://input স্ট্রিম র্যাপার HTTP রিকোয়েস্ট থেকে র ডেটা ফেচ করতে দেয়। নিচের উদাহরণে, HTML ফর্ম POST মেথড দিয়ে একটি PHP স্ক্রিপ্টে ডেটা পোস্ট করে—
<html> <body> <form action="testscript.php" method="POST"> <input type="text" name="name"> <input type="text" name="age"> <input type="submit" value="submit"> </form> </body> </html>
র HTTP র ডেটা রিট্রিভ করার PHP স্ক্রিপ্ট নিচের মতো—
<?php $json = file_get_contents("php://input"); $data = json_decode($json); print_r($json); ?>