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 एक्सटेंशन फ़ाइलों को एक स्थान से दूसरे स्थान पर ट्रांसफर करने के लिए क्लाइंट URL लाइब्रेरी (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);
दूसरे सर्वर को नियमित फ़ाइल अपलोड के रूप में संभाला जा सकता है।