ftp_fput (ftp_fput)
تابع ftp_fput برای «آپلود فایل FTP» استفاده می شود. «FTP» راه انتقال فایل هاست؛ مثل فرستادن تکلیف از لپ تاپ به سرور.
تعریف ساده
ftp_fput() داده را از «فایل باز محلی» می خواند و در «فایل روی سرور» می نویسد. «حالت انتقال (Transfer Mode)» می تواند FTP_ASCII یا FTP_BINARY باشد.
سینتکس
ftp_fput(resource $ftp_conn, string $remote_file, resource $open_file, int $mode = FTP_ASCII, int $startpos = 0);
مثال: باز کردن و آپلود فایل
<?php
$ftp_server = "ftp.example.com";
$ftp_conn = ftp_connect($ftp_server);
if ($ftp_conn === false) {
die("Could not connect to server.\n");
}
$login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);
if ($login === false) {
ftp_close($ftp_conn);
die("Login failed.\n");
}
$file = "test.txt";
$fp = fopen($file, "r");
if ($fp === false) {
ftp_close($ftp_conn);
die("Cannot open local file.\n");
}
$ok = ftp_fput($ftp_conn, "somefile.txt", $fp, FTP_ASCII, 0);
if ($ok === true) {
echo "Successfully uploaded test.txt.\n";
} else {
echo "Error uploading test.txt.\n";
}
ftp_close($ftp_conn);
fclose($fp);
?>
گام های عملی آپلود
- با
ftp_connectبه سرور وصل شو. - با
ftp_loginوارد شو. - فایل محلی را با
fopenباز کن. ftp_fputرا با حالت مناسب اجرا کن.- اتصال و فایل را در پایان ببند.
نکات حالت و ازسرگیری
نکته: متن ها را با FTP_ASCII و باینری ها را با FTP_BINARY بفرست. این کار از خرابی جلوگیری می کند.
نکته: با startpos می توانی ادامه آپلود را از نقطه مشخص انجام دهی.
لینک های مفید
- اتصال FTP پیش نیاز هر آپلود است.
- بستن اتصال FTP نشت منابع را می گیرد.
- W3Schools: ftp_fput() تعریف، سینتکس، و مثال رسمی.
- W3Schools: PHP FTP Reference فهرست کامل توابع FTP.
جمع بندی سریع
ftp_fputاز فایلِ باز می خواند.- حالت درست را دقیق انتخاب کن.
- می توانی آپلود را ادامه دهی.
- همیشه اتصال را ببند.