ftp_nb_fput() फ़ंक्शन
ftp_nb_fput() फ़ंक्शन एक खुली फ़ाइल से पढ़कर FTP सर्वर पर फ़ाइल अपलोड करता है (नॉन-ब्लॉकिंग मोड में)।
सिंटैक्स
ftp_nb_fput($connection, $remote_file, $open_file, $transfer_mode, $start_pos)
पैरामीटर
| पैरामीटर | विवरण |
|---|---|
| connection | FTP कनेक्शन संसाधन |
| remote_file | सर्वर पर अपलोड की जाने वाली फ़ाइल का पथ |
| open_file | खुली स्थानीय फ़ाइल का पॉइंटर (fopen() द्वारा लौटाया गया) |
| transfer_mode | स्थानांतरण मोड: FTP_ASCII या FTP_BINARY |
| start_pos | अपलोड शुरू करने की स्थिति |
वापसी मान
FTP_FAILED- भेजना/प्राप्त करना विफलFTP_FINISHED- भेजना/प्राप्त करना पूरा हुआFTP_MOREDATA- भेजना/प्राप्त करना प्रगति पर है
उदाहरण
<?php
$ftp_server = "192.168.0.4";
$ftp_user = "jacob";
$ftp_pass = "tywg61gh";
$con = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
$login = ftp_login($con, $ftp_user, $ftp_pass);
$server_file = "demo.txt";
$local_file = "new.txt";
// स्थानीय फ़ाइल को पढ़ने के मोड में खोलें
$file_pointer = fopen($local_file, "r");
// नॉन-ब्लॉकिंग अपलोड शुरू करें
$c = ftp_nb_fput($con, $server_file, $file_pointer, FTP_BINARY);
while ($c == FTP_MOREDATA) {
// अपलोड जारी रखें
$c = ftp_nb_continue($con);
}
if ($c != FTP_FINISHED) {
echo "सर्वर फ़ाइल अपलोड करने में त्रुटि!";
exit(1);
}
ftp_close($con);
fclose($file_pointer);
?>
महत्वपूर्ण सुधार
- मूल कोड में
FT_BINARYगलत था; सही हैFTP_BINARY। - त्रुटि संदेश और टिप्पणियों में "downloading" के स्थान पर "uploading" होना चाहिए।
fclose($file_pointer)अपलोड पूरा होने के बाद फ़ाइल पॉइंटर को सही ढंग से बंद करता है।
उपयोग केस
यह फ़ंक्शन तब उपयोगी है जब आप मेमोरी में फ़ाइल सामग्री को संशोधित करने के बाद अपलोड करना चाहते हैं, या जब फ़ाइल बहुत बड़ी हो और आप इसे चंक्स में पढ़ना चाहते हैं।