انتقال فایل آپلودی (move_uploaded_file)
می خواهی «انتقال فایل آپلودی» را یاد بگیری؟ تابع move_uploaded_file() فایلِ آپلودشده را جابه جا می کند. «HTTP POST» یعنی فایلی که با فرمِ وب فرستاده شده است. همچنین اگر مقصد موجود باشد، فایل جدید جایگزین می شود.
تعریف و کاربرد ساده
تابع فایلِ آپلودی را به مسیر جدید می برد. ورودی ها: نام فایلِ موقت و مقصد.
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$tmp = $_FILES['file']['tmp_name'];
$name = basename($_FILES['file']['name']);
$dest = __DIR__ . '/uploads/' . $name;
if (move_uploaded_file($tmp, $dest)) {
echo 'انتقال موفق بود';
} else {
echo 'انتقال انجام نشد';
}
}
?>
نکات مهم طبق منبع
نکته: این تابع فقط روی فایل های ارسال شده با HTTP POST کار می کند.
هشدار: اگر فایل مقصد وجود داشته باشد، جایگزین می شود.
گام های عملی
- پس از ارسال فرم، نام موقت فایل را بگیر.
- مسیر مقصد را آماده کن.
- تابع move_uploaded_file() را اجرا کن.
- نتیجه TRUE یا FALSE را بررسی کن.
پارامترها
file: نام فایلِ آپلودی. معمولاً از $_FILES می آید.
dest: مسیر مقصد برای ذخیره فایل. مثل پوشه تکالیف.
جمع بندی سریع
- فقط برای فایل های HTTP POST است.
- فایل موجود ممکن است جایگزین شود.
- خروجی موفقیت، مقدار TRUE است.
- دو ورودی دارد: file و dest.