@ali.bayat @hossein.r.1442 @hesammousavi @elyasbeshkani @juza66 @milad @rezajashnsaz0011 @endworld @mohsenbostan
سلام دوستان چه طور میشه فایلی که در public است ولی آدرسش کامله ، رو حذف کرد.
مثلا آدرس به این صورت هست
http://localhost:8000/uploads/2020/3/21/5e75f7a3f08f9400.jpg
البته File::delete رو امتحان کردن ولی false بر میگردونه
ممنون میشم راهنمایی کنید
شما دامین رو نباید پاس بدید به توابع حذف
از unlink خود php هم میتونید استفاده کنید اول این تابع هم یه @ بذارید که اگه فایلی یافت نشد خطا نده
به این صورت
@unlink('uploads/2020/3/21/5e75f7a3f08f9400.jpg')
@amin.webdesign
من از froala editor استفاده میکنم .
در این ادیتور وقتی فایلی آپلود میشه و دوباره توسط کاربر از ادیتور حذف میشه ،
آدرس کامل فایل به سرور فرستاده میشه تا از سرور نیز حذف بشه.
البته با کد زیر تونستم آدرس رو اصلاح کنم :
str_replace('http://localhost:8000/','',$request->get('url'));
اما می خوام بدونم راه بهتری نیست ؟
@Saeeed
بهترین کار همینه که انجام دادید. چون برای حذف باید مسیر فایل مستقر در هاست رو بدید و آدرس دامین نباید توی آدرس مسیر فایل باشه و تنها کار همین حذف آدرس از رشته مذکور هست.
دقیقا تنها کار همینه که از ریپلیس استفاده کنید، فقط به جای اینکه خودتون ادرس رو بزنید از request استفاده کنید تا اگه دامنه تغییر کرد کد شما بدون مشکل کار کنه
//if $path=http://localhost:8000/uploads/image.png // $file return uploads/image.png
$file = Str::after($path, 'http://localhost:8000/') ? Str::after($path, 'http://localhost:8000/') : $path;
if(file_exists($file)) {
unlink($file)
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟