رفتن به مطلب

سوال در رابطه با FTP


پست های پیشنهاد شده

با سلام

در رابطه با ایجاد ftp با php دو سوال داشتم.

- 1 - آیا می شود برای بخش آپلود محدودیت گذاشت تا فقط فایل هایی با پسوند مجاز آپلود شوند ؟

- 2 - آیا می شود کار کرد که پس از آپلود و انتقال فایل به سرور یک صفحه php اتوماتیک لود شود ؟

لینک به ارسال

بله هردو رو می شه

با تابعی شبیه به این


function Uploaded_Mime_Type() {
//edit this array to limit accepted file types
$mime_types = array(
'txt' => 'text/plain',
'htm' => 'text/html',
'html' => 'text/html',
'php' => 'text/html',
'css' => 'text/css',
'js' => 'application/javascript',
'json' => 'application/json',
'xml' => 'application/xml',
'swf' => 'application/x-shockwave-flash',
'flv' => 'video/x-flv',
// images
'png' => 'image/png',
'jpe' => 'image/jpeg',
'jpeg' => 'image/jpeg',
'jpg' => 'image/jpeg',
'gif' => 'image/gif',
'bmp' => 'image/bmp',
'ico' => 'image/vnd.microsoft.icon',
'tiff' => 'image/tiff',
'tif' => 'image/tiff',
'svg' => 'image/svg+xml',
'svgz' => 'image/svg+xml',
// archives
'zip' => 'application/zip',
'rar' => 'application/x-rar-compressed',
'exe' => 'application/x-msdownload',
'msi' => 'application/x-msdownload',
'cab' => 'application/vnd.ms-cab-compressed',
// audio/video
'mp3' => 'audio/mpeg',
'qt' => 'video/quicktime',
'mov' => 'video/quicktime',
// adobe
'pdf' => 'application/pdf',
'psd' => 'image/vnd.adobe.photoshop',
'ai' => 'application/postscript',
'eps' => 'application/postscript',
'ps' => 'application/postscript',
// ms office
'doc' => 'application/msword',
'rtf' => 'application/rtf',
'xls' => 'application/vnd.ms-excel',
'ppt' => 'application/vnd.ms-powerpoint',
// open office
'odt' => 'application/vnd.oasis.opendocument.text',
'ods' => 'application/vnd.oasis.opendocument.spreadsheet',
);
if(in_array($_FILES['async-upload']['type'],$mime_types)){
return true;
}
else{return false;}
}

پسوند ها تعریف می شند و با


<?php if(isset($_FILES['uploads'])) {
header('Location: http://www.example.com/ok.php');
}?>

هم ریدایرکت به سند دیگه انجام می شه البته این کدها حساسند و جایگاه خاصی دارند که برنامه نویس باید بشناسنه و بتونه الگوریتمی رو که می خواد صحیح نصب کنه تا به مشکل نخوره

لینک به ارسال

تشکر فراوان

فقط من منظورم آپلود از FTP با نرم افزار هست مثلا کاربر نتونه فایل php رو در پوشه خودش با نرم افزاری مثل filezilla آپلود کند.

لینک به ارسال

خوب حالا مورد اول رو می شه یک کاریش کرد مثلا هر ثانیه پوشه چک بشه تا فایل php آپلود شده اون رو حذفش کنه ولی دومی خیلی مهمه یعنی پس از آپلود صفحه php اجرا بشه یعنی کاریش نمی شه کرد ؟

لینک به ارسال

عذر می خوام متوجه سئوالتون نشده بودم شدنش رو می شه چون الان box.com همین کار رو کرده البته آپلود رو محدود نکرده ولی ران و اجرا را کنترل کرده و بعد از آپلود هم یک سند رو لود می کنه که حاوی دیتیل فایله یک برنامه دانلود تحت ویندوز هم داده که به صورت خودکار با اضافه شدن فایل توی یک پوشه مشخص روی ویندوز برنامه اجرا می شه فایل ها را کمپرس و آپلود می کنه

اما اینکه با چی نوشته الگوریتمش چیه رو نمی دونم

در مورد اول فکر می کنم به طور مستقیم هم بتونید از طرف سرور دستوری بگذارید که فایل های آپلود شده با فرمت خاصی را هیدن کنه و دسترسیشون رو به مقادیری پایین تر از سطح دسترسی کاربر ftp تبدیل کنه

قبلا که وضع هاست ها از الان خراب تر بود با فایل های htaccess اینکار رو می کردند و به محض ایجادش دسترسیش را کم می کردن و فایل را هیدن و دیگه نه می شد فایل را مجدد آپ کرد نه دسترسی به فایل ممکن بود

لینک به ارسال

تشکر از پاسخ شما

اما من خودم شدیدا گیر کردم خیلی هم واجبه برام یعنی هیچ راهی وجود نداره که پس از آپلود با نرم افزار بفهمیم که چه فایلی آپلود شده تا اطلاعات اون رو مثلا به دیتابیس بفرستیم ؟

لینک به ارسال

فکر کنم برای یک ftp باز بهترین روش این باشه که در مقاطع زمانی مختلف پوشه چک بشه و فایل هایی که از قبل لیست شده بودند خط بخوره مابقی لیست بشه و ارسال بشه به دیتابیس (مثلا هر ساعت یکبار) مگر اینکه فایل منیجر شخصی بسازید و کاربر را ملزم به استفاده از آپلود سنتر خودتون کنید

لینک به ارسال

والا فایل منیجر که موجوده ولی برای فایل های بالا 4 گیگابایت کارایی زیادی نداره اون روشی هم که شما گفتید کاملا درسته و می شه اجراش کرد اما مثلا شاید طرف شل و ... آپلود کرد.

لینک به ارسال

خب شما که میخواهید فایلها رو به دیتابیس بفرستین قبلش mime اون فایل رو چک کنید که موردی نداشته باشه مثلا .php یا .htaccess نباشه

میتونین دسترسی پوشه ها رو پیشفرض 755 کنید که فایلها فقط خواندنی و نوشتنی بشن

میتونید سرور رو تنظیم کنید که فایلهای php از حالت اجرا مثلا سرور مثل فایلهای text باهاش رفتار کنه

باید در مورد سیستم و چرا این کارو میخواهید انجام بدید بیشتر توضیح بدین شاید راهای بهتری وجود داشته باشه

لینک به ارسال

با تشکر از همه دوستان

من بالاخره روشش رو پیدا کردم پس از انجام تست و آزمایشات مراحل کار را در این تاپیک قرار می دهم.

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...