علی در حال پیادهسازی سیستم ثبتنام برای یک مرکز آموزشی است و باید سیستمی را پیادهسازی کند تا متقاضیان ثبتنام عکسی را در سیستم آپلود کنند.
از آنجایی که عکسها برای این مرکز مهم است از علی خواسته شده تا قوانین سخت گیرانهای را روی عکسها اعمال کند.
علی برای پیادهسازی این سیستم از شما درخواست کمک کرده است.
جزئیات پروژه
پروژهی اولیه را از این لینک دانلود کنید.
ساختار فایلها
initial
├── app
│ ├── Console
│ │ └── Kernel.php
│ ├── Exceptions
│ │ └── Handler.php
│ ├── Http
│ │ ├── Controllers
│ │ │ ├── Controller.php
│ │ │ └── ImagesController.php
│ │ ├── Middleware
│ │ │ ├── Authenticate.php
│ │ │ ├── EncryptCookies.php
│ │ │ ├── PreventRequestsDuringMaintenance.php
│ │ │ ├── RedirectIfAuthenticated.php
│ │ │ ├── TrimStrings.php
│ │ │ ├── TrustHosts.php
│ │ │ ├── TrustProxies.php
│ │ │ └── VerifyCsrfToken.php
│ │ └── Kernel.php
│ ├── Models
│ │ └── User.php
│ └── Providers
│ ├── AppServiceProvider.php
│ ├── AuthServiceProvider.php
│ ├── BroadcastServiceProvider.php
│ ├── EventServiceProvider.php
│ └── RouteServiceProvider.php
├── bootstrap
│ ├── cache
│ │ ├── packages.php
│ │ └── services.php
│ └── app.php
├── config
│ ├── app.php
│ ├── auth.php
│ ├── broadcasting.php
│ ├── cache.php
│ ├── cors.php
│ ├── database.php
│ ├── filesystems.php
│ ├── hashing.php
│ ├── logging.php
│ ├── mail.php
│ ├── queue.php
│ ├── services.php
│ ├── session.php
│ └── view.php
├── database
│ ├── factories
│ │ └── UserFactory.php
│ ├── migrations
│ │ ├── 2014_10_12_000000_create_users_table.php
│ │ ├── 2014_10_12_100000_create_password_resets_table.php
│ │ └── 2019_08_19_000000_create_failed_jobs_table.php
│ └── seeders
│ └── DatabaseSeeder.php
├── public
│ ├── favicon.ico
│ ├── index.php
│ ├── robots.txt
│ └── web.config
├── resources
│ ├── css
│ │ └── app.css
│ ├── js
│ │ ├── app.js
│ │ └── bootstrap.js
│ ├── lang
│ │ └── en
│ │ ├── auth.php
│ │ ├── pagination.php
│ │ ├── passwords.php
│ │ └── validation.php
│ └── views
│ └── index.blade.php
├── routes
│ ├── api.php
│ ├── channels.php
│ ├── console.php
│ └── web.php
├── storage
│ ├── app
│ │ └── public
│ ├── framework
│ │ ├── cache
│ │ │ └── data
│ │ ├── sessions
│ │ ├── testing
│ │ └── views
│ └── logs
├── tests
│ ├── Feature
│ │ └── ExampleTest.php
│ ├── Unit
│ │ └── ExampleTest.php
│ ├── CreatesApplication.php
│ └── TestCase.php
├── README.md
├── artisan
├── composer.json
├── composer.lock
├── package.json
├── phpunit.xml
├── server.php
└── webpack.mix.js
راهاندازی پروژه
برای اجرای پروژه، باید php و composer را از قبل نصب کرده باشید.
- ابتدا پروژهی اولیه را دانلود و از حالت فشرده خارج کنید.
- دستور
composer installرا در پوشهی اصلی پروژه برای نصب نیازمندیها اجرا کنید.
بعد از اجرای پروژه شما در صفحه اصلی یک فرم را ملاحظه میکنید که وظیفه آپلود تصاویر را برعهده دارد و تمامی عکسها را به ImagesController.php و متد save میفرستد و شما باید محتوای این متد را طوری پیاده سازی کنید روی قوانین احراز هویت زیر روی عکس ها اعمال شود:
- فایل عکس الزامی است.
- فایل باید حتما عکس و به فرمتهای
jpeg,jpg,pngباشند. - شما باید قانون (rule) جدیدی را در برنامه تعریف کنید تا فقط امکان آپلود عکس با نامهای به فرمت [عدد]File مثل
File1.pngو File342.pngو... را بدهد و اگر نام فایل به این فرمت نبود و زبان سایت انگلیسی بود، خطایfile name is incorrectو اگر زبان سایت فارسی بود خطاینام فایل صحیح نیسترا نمایش دهد.
public function save(Request $request)
{
// TODO
}
نکات
- توجه داشته باشید که فایل عکس شما حتما باید در آدرس
storage/app/imagesذخیره شود. - شما تنها مجاز به ایجاد تغییرات در پوشههای
appوresourcesهستید. - برای ولیدیت کردن عکس آپلود شده (به غیر از قانونی که اضافه میکنید) از پیام های پیش فرض لاراول استفاده کنید.
آنچه باید آپلود کنید
پس از اعمال تغییرات، کل پروژه به غیر از پوشهی vendor را Zip کرده و آپلود کنید.
توجه کنید که نام فایل Zip اهمیتی ندارد.
ارسال پاسخ برای این سؤال