نقل قول نوشته اصلی توسط lizard.tiny نمایش پست ها
با این وجود بهترین راه استفاده از تابع ftp_put هست, بهتره برای اینکار یک وب سرویس rest بنویسید که بعد از آپلود صحت فایل آپلود شده رو به اسکریپت برگردونه تا اطمینان داشته باشید که فایل به درستی و کامل آپلود شده باشه
در خصوص امنیت هم میتونید موقع آپلود فایل در هاست اصلی که اسکریپت آپلودر روش هست موارد امنیتی رو برسی کنید, مواردی مثل نام فایل, پسوند
همچنین برای بالاتر رفتن امنیت میتونید یک دیتابیس ایجاد کنید که اطلاعات فایل های آپلودی رو ذخیره کنه و موقع آپلود نام و پسوند فایل رو تغییر بده, مثلاً اگه کاربری فایل milad.mp3 رو آپلود کرد این فایل تبدیل بشه به یک فایل بدون پسوند به نام 541f98322eaea41f2b2e3d023972f098 و این نام + نام و پسوند اصلی اون در دیتابیس ذخیره بشه, وقتی کاربر لینک دانلود رو داد سیستم فایل 541f98322eaea41f2b2e3d023972f098 رو مجدداً تغییر نام میده به milad.mp3 و دانلود میشه
همچنین در سرور دانلود میتونید از طریق تنظیمات سروری یا فایل htaccess خروجی فایل های مشخص کنید, یعنی تایین کنید فایل هایی مثل php, html و ... حتی اگه آپلود هم شدن امکان دانلود و اجرا نداشته باشن
البته در این حالت برای اینکه فشاری به سرور نیاد پیشنهاد میشه از ماژول های سمت سرور مثل XSendFile و ... استفاده کنید
در کل در PHP راه کارهای خیلی زیادی برای اجرای یک عملیات وجود داره که نحوه پیاده سازی اونها به تجربه و سلیقه برنامه نویس بستگی داره
احتمال زیاد با برنامه های فایل منیجر کار کردید. می دونید که حتی وقتی یه فایل رو از طریق برنامه فایل منیجر آپلود می کنید، ممکنه فایل درست انتقال پیدا نکنه. حتی با فرض استفاده از این روش، باید کل فایل ابتدا روی سرور خود اسکریپت بره و بعد منتقل بشه به سرور اصلی از طریق اف تی پی. حالا شما فرض کنید که یه فایل حجم بالا این اتفاق براش بیافته. اگر از rest استفاده کنیم ، در آن واحد ممکنه ده ها فایل با هم آپلود بشه، اصلا نمیشه با اف تی پی هندل کرد. امنیت هم که اصلا مبحث فرق می کنه! تغییر پسوند فایل که ابتدایی ترین هست و اگر انجام نشه که کلا انگار سرور ما حیات خلوت هکرهای تازه کار هست.