مجید
4 سال پیش توسط مجید مطرح شد
11 پاسخ

خواندن نام فایل های پوشه storage در لاراول

من از طریق کرون جاب از دیتا بیس بکاپ میگیرم روزانه و در مسیر storage/app/laravel ذخیره میشه
الان میخوام بکاپ رو به ایمیل ارسال کنم مشکلی که الان دارم این هست مه نمیتدونم چجوری نام فابل بکاپ رو بخونم چون چندین فایل بکاپ وجود دارد
اگر بخوام نام کلیه فایل ها رو بخونم باید چیکار کنم
ممنون میشم راهنمایی بفرمایید


ثبت پرسش جدید
محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 4 سال پیش مطرح شد
0

اگر به مستندات خود لاراول در لینک زیر مراجعه کنید خیلی راحت و همراه با مثال توضیح داده:
https://laravel.com/docs/8.x/filesystem#directories

برای دسترسی به فایل ها:

use Illuminate\Support\Facades\Storage;

$files = Storage::files($directory);

$files = Storage::allFiles($directory);

و همچنین دایرکتوری ها:

$directories = Storage::directories($directory);

// Recursive...
$directories = Storage::allDirectories($directory);

مهدی
تخصص : برنامه نویس و طراح وب
@mrmmg 4 سال پیش مطرح شد
0

@majeeddehghan
راه خوبی برای بکاپ انتخاب کردی اما اگه میخوای از این فرایند خودت رو خلاص کنی بهترین راهکار استفاده از پکیج laravel backup از spatie هست. این میاد و بر اساس کانفیگی که تنظیم میکنی به صورت روزانه در ساعت مشخصی بکاپ میگیره و در جایی ذخیره میکنه، حالا نکته مهمش همین ایمیل کردن یا ذخیره در فضای ابری مثل گوگل درایو یا دراپ باکس هست که با استفاده از پکیج هایی که برای لاراول هست میتونی یه فایل سیستم اختصاصی برای خودت درست کنی و فایل بکاپ رو مستقیم بفرستی روی اون فضا
خوبیش اینه که میتونی جهت اطمینان روی چندین فضای مختلف اینکار رو انجام بدی!
کمی سرچ بزنی به ایده های خوبی در این زمینه میرسی


مجید
تخصص : برنامه نویس
@majeeddehghan 4 سال پیش مطرح شد
0

@mrmmg من از همین پکیج با کرون جاب برای بکاپ استفاده میکنم و بکاپ روی هاست خودم ذخیره میشه
امکانش هست راهنمایی کنید که چطوری میشه مستقیم فایل بکاپ رو به ایمیل ارسال کرد
من سعی دارم به صورت دستی آخرین بکاپ رو با کرون جاب به طور خودکار بعد از بکاپ به ایمیل ارسال کنم
ممنون میشم راهنمایی کنید


مهدی
تخصص : برنامه نویس و طراح وب
@mrmmg 4 سال پیش مطرح شد
0

@majeeddehghan
ببین مجید جان به نظرم بهترین راهکار برای این هست از event های خود این پکیج استفاده کنی. یعنی اینکه بیای و به ایونت حساس باشی اگر فلان ایونت اتفاق افتاد فلان عمل انجام بشه.
مثلا در مورد همین اگر BackupZipWasCreated رخ داد اونوقت بری پوشه storage رو بررسی کنی بر اساس نامگذاری که تعیین کردی فایل zip بکاپ رو پیدا کنی و ایمیلش کنی. این راهکار رو میتونی بدون استفاده از پکیج خاصی و با خود لاراول مدیریت کنی.
این هم داکیومنت رسمی در مورد گوش دادن به ایونت ها


مجید
تخصص : برنامه نویس
@majeeddehghan 4 سال پیش مطرح شد
0

@mrmmg من داکیومنت رو بررسی کردم اما دقیقا نفمیدم باید چجوری باید event را کنترل کنم
و اینکه نام فایل های بکاپ با ساعت و تاریخ بکاپ نام گذاری میشن
میشه بیشتر راهنمایی بفرمایید


مهدی
تخصص : برنامه نویس و طراح وب
@mrmmg 4 سال پیش مطرح شد
0

@majeeddehghan کمی بیشتر در مورد ایونت ها سرچ بزنید متوجه خواهید شد چون اینجا جای آموزش دادن نیست و از این بابت متاسفم
نام فایل های بکاپ رو میتونید تغییر بدید یا حتی بهش prefix اضافه کنید!


مجید
تخصص : برنامه نویس
@majeeddehghan 4 سال پیش مطرح شد
0

@mhyeganeh من میخوام نام فایل ها رو به صورت یک آرایه بگیرم داخل مستندات لاراول هم گشتم چیزی پیدا نکردم
( در اصل دنبال آخرین فایل ذخیره شده هستم داخل دایرکتوری هستم )
امکانش هست راهنمایی بفرمایید


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 4 سال پیش آپدیت شد
0
$files = scandir('data', SCANDIR_SORT_DESCENDING);
return $files[0];

محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 4 سال پیش مطرح شد
0

@majeeddehghan
همون نمونه کدی که بالا ارسال کردم اسم تمام فایل های مسیر مشخص شده رو در قالب یک آرایه بر می گردونه دیگه دوست عزیز. امتحانش کردید؟


مجید
تخصص : برنامه نویس
@majeeddehghan 4 سال پیش مطرح شد
0

@mhyeganeh بله تست کردم مشکلم برطرف شد ممنون


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 4 سال پیش مطرح شد
0

موفق باشید 👍🌹


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام