fopen, fread এবং fwrite ফাংশন ব্যবহার করে একটি ফাইল স্ট্রিম খোলা, ডেটা স্ট্রিম পড়া এবং সেই ডেটা একটি ফাইলে লিখা যায়।
ফাইল রিসোর্স অবশ্যই লোকাল মেশিনের লোকেশন ইঙ্গিত করতে হবে না।
নিচে একটি উদাহরণ দেওয়া হলো যা লোকাল সার্ভার থেকে FTP সার্ভারে ফাইল ট্রান্সফার করে:
$file = "file_name.jpg"; $destination = fopen("ftp://username:password@example.com/" . $file, "wb"); $source = file_get_contents($file); fwrite($destination, $source, strlen($source)); fclose($destination);ইমেজটি FTP সার্ভারে ট্রান্সফার করতে হবে। তাই সার্ভারটি রাইট মোডে খোলা হয়েছে, এবং ইমেজটি সেই লোকেশনে লিখা হয়েছে এবং স্ট্রিম বন্ধ করা হয়েছে।
cURL এক্সটেনশন Client URL Library (libcurl) ব্যবহার করে ফাইল এক লোকেশন থেকে অন্য লোকেশন ট্রান্সফার করে। cURL সমাধান ইমপ্লিমেন্ট করার লজিক নিচের লজিক ফলো করে:
- প্রথমে একটি সেশন ইনিশিয়ালাইজ করুন।
- ইচ্ছিত ট্রান্সফার অপশন সেট করুন।
- ট্রান্সফার পারফর্ম করুন।
- সেশন বন্ধ করুন।
cURL সেশন 'curl_init' ফাংশন ব্যবহার করে ইনিশিয়ালাইজ করা যায়। এটি একটি রিসোর্স ফেরত দেয় যা অন্যান্য cURL ফাংশনসহ ব্যবহার করা যায়।
ফাইল আপলোডের ডেস্টিনেশন এবং ট্রান্সফার সেশনের সাথে জড়িত অন্যান্য ফ্যাক্টর 'curl_setopt' ব্যবহার করে সেট করা যায়।
এটি cURL রিসোর্স নেয়, যা একটি প্রি-ডিফাইনড কনস্ট্যান্ট যা সেটিংকে রিপ্রেজেন্ট করে এবং অপশনাল ভ্যালু।
নিচে একটি উদাহরণ দেওয়া হলো:
$session_begin = curl_init(); curl_setopt($session_begin, CURLOPT_POST, true); curl_setopt($session_begin, CURLOPT_POSTFIELDS, array('file' => 'path/to/file.txt')); curl_setopt($session_begin, CURLOPT_URL, 'https://server2/upload.php'); curl_exec($session_begin); curl_close($session_begin);দ্বিতীয় সার্ভারটি একটি সাধারণ ফাইল আপলোড হিসেবে হ্যান্ডেল করা যাবে।