راکت

مشکل حذف فایل در هاست با ماژول File در لاراول

4 پاسخ

سلام دوستان
هاست من از ماژول open_basedir پشتیبانی نمیکنه و من برای حذف عکس مشکل دارم
من از این کد برای حذف استفاده میکنم:

use Illuminate\Support\Facades\File;
if (File::exists($box->image))
    File::delete($box->image);

و کار نمیکنه از چه روشی استفاده کنم که open_basedir توی هاست رو پشتیبانی کنه

ثبت پرسش جدید

پاسخ‌ها

4
vahid
vahid
@vahid1379

تخصص: توسعه دهنده وردپرس

میگم چرا از php استفاده نمیکنی؟

if(file_exists(myFile)) 
{
unlink(myFile) 
} 
علی جمالی
علی جمالی
@alijamali

تخصص: برنامه نویس وب

سلام
اصلا هاستم file_exists رو پشتیبانی نمیکنه
چون امتحان کردم
غیر از file_exists تابع دیگه ای هم داریم که من استفاده کنم یا باید هاستم رو عوض کنم

شاید پاسخ شما همین‌جا باشد

Pouria
Pouria
@pouria.782

تخصص: developer

تیکت بزنید به هاستیگ براتون باز میکنن.

محمد شریف احمدی
محمد شریف احمدی
@mrahmadi

تخصص: یک عدد برنامه نویس

سلام،

استفاده از File:: ممکن است با مشکلاتی مانند مشکل open_basedir مواجه شود. برای حل این مشکل، بهتر است از Storage:: استفاده کنید.

فایل‌های شما در شاخه storage/app ذخیره می‌شوند و شما می‌توانید با استفاده از Storage::، فایل‌ها را با روش‌هایی مانند put، get, delete و ... مدیریت کنید.

برای حذف فایل، از روش delete استفاده کنید. در مثال زیر، فرض شده که $box->image مسیر فایل خود است.

use Illuminate\Support\Facades\Storage;

if (Storage::exists($box->image)) {
    Storage::delete($box->image);
}

با استفاده از Storage::exists، قبل از حذف فایل، وجود آن را بررسی می‌کنیم تا از وجود فایل اطمینان حاصل کنیم. سپس با استفاده از Storage::delete، فایل حذف می‌شود.

همچنین، مسیر فایل در storage/app قابل تغییر است و شما می‌توانید از public, local, s3 و ... در Storage:: برای استفاده از سرویس‌های ذخیره‌سازی متفاوت استفاده کنید.

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

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