फ़ाइल स्ट्रीम को खोलने, डेटा स्ट्रीम को पढ़ने और उस डेटा को क्रमशः फ़ाइल में लिखने के लिए fopen, fread और fwrite फ़ंक्शंस का उपयोग किया जा सकता है।
फ़ाइल संसाधन को स्थानीय मशीन पर ही किसी स्थान को इंगित करने की आवश्यकता नहीं है।
नीचे एक उदाहरण दिया गया है जो फ़ाइल को स्थानीय सर्वर से ftp सर्वर में स्थानांतरित करता है -
$file = "file_name.jpg"; $destination = fopen("ftp://username:[email protected]/" . $file, "wb"); $source = file_get_contents($file); fwrite($destination, $source, strlen($source)); fclose($destination);
छवि को एक FTP सर्वर पर स्थानांतरित करने की आवश्यकता है। इसलिए सर्वर को राइट मोड में खोला जाता है, और छवि उस स्थान पर लिखी जाती है और स्ट्रीम बंद हो जाती है।
फ़ाइलों को एक स्थान से दूसरे स्थान पर स्थानांतरित करने के लिए कर्ल एक्सटेंशन क्लाइंट URL लाइब्रेरी (libcurl) का उपयोग करता है। कर्ल समाधान को लागू करने का तर्क नीचे दिए गए तर्क का अनुसरण करता है -
- पहले सत्र प्रारंभ करें।
- वांछित स्थानांतरण विकल्प सेट किए जा सकते हैं।
- स्थानांतरण किया जा सकता है।
- सत्र बंद किया जा सकता है।
कर्ल सत्र को 'curl_init' फ़ंक्शन का उपयोग करके प्रारंभ किया जा सकता है। यह एक ऐसा संसाधन देता है जिसका उपयोग अन्य कर्ल कार्यों के साथ किया जा सकता है।
फ़ाइल अपलोड करने का गंतव्य और स्थानांतरण सत्र से जुड़े अन्य कारकों को 'curl_setopt' का उपयोग करके सेट किया जा सकता है।
यह कर्ल संसाधन लेता है, जो एक पूर्वनिर्धारित स्थिरांक है जो सेटिंग और वैकल्पिक मान का प्रतिनिधित्व करता है।
नीचे एक उदाहरण दिया गया है जो इसे प्रदर्शित करता है -
$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);
दूसरे सर्वर को नियमित फ़ाइल अपलोड के रूप में नियंत्रित किया जा सकता है।