علی در حال پیادهسازی سیستم ثبتنام برای یک مرکز آموزشی است و باید سیستمی را پیادهسازی کند تا متقاضیان ثبتنام عکسی را در سیستم آپلود کنند.
از آنجایی که عکسها برای این مرکز مهم است از علی خواسته شده تا قوانین سخت گیرانهای را روی عکسها اعمال کند.
علی برای پیادهسازی این سیستم از شما درخواست کمک کرده است.
جزئیات پروژه
پروژهی اولیه را از این لینک دانلود کنید.
ساختار فایلها
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 اهمیتی ندارد.
ارسال پاسخ برای این سؤال