سلام دوستان برنامه نویس عزیز من میخوام تو وبسایت عکس رو از کاربر بگیرم و در آروان کلود ذخیره و در سایت نشون بدم این کار شدنی هست ؟
اگه آره راهنمایی کنید چیکار کنم از کجا شروع کنم ؟
سپاس از راهنمایی تون
سلام.
بصورت خلاصه کاری که میتونید بکنید این هست که از سرویس فضای ابری (Storage) ابرآروان استفاده کنید و بعد از ایجاد صندوقچه (Bucket) مشخصاتی که بهتون میده رو در پروژتون تعریف کنید.
سپس با تعریف یک disk جدید از نوع s3
در config/filesystem.php میتونید با استفاده از متدهای Storage لاراول فایل هاتون رو آپلود یا دانلود کنید.
use Illuminate\Http\File;
use Illuminate\Support\Facades\Storage;
Storage::disk('arvan_s3')->putFile('photos', new File('/path/to/photo'));
Storage::disk('arvan_s3')->download('file.jpg');
با این حالت به بیان دیگه انگار دارید یک هارد جدید علاوه بر هارد خود هاست یا سرورتون تعریف میکنید.
بله ما این کار رو در همه ی زبان های سمت سرور انجام می دیم مثال از php
1 - یه فرم با تایپ multipart/form-data و یه اینپوت با تایپ file
مثل این :
<html>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
Select image to upload:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
</body>
</html>
2 - وقتی فرم ارسال شد به upload.php ما برای اطلاعات فرمی که بصورت نوشته هست و غیره مثل اینپوت تایپ تکست با متغیر سراری $POST
دسترسی داریم ولی به فایل های عکسی و هر چیزی که از اینپوت تایپ فایل باشه با متغیر سراسری $FILES دسترسی داریم.ما می تونیم با تابع moveuplodedfile هم یه فایل رو اپلود کنیم در کل فایل اپلودر ما اینجوری میشه
<?php
// cheak file is image
$allowedMimes = ['png', 'jpeg', 'jpg', 'gif'];
$imageMime = pathinfo($_FILES['img']['name'], PATHINFO_EXTENSION);
if(!in_array($imageMime, $allowedMimes, true))
{
echo 'این فایل یک تصویر نیست';
die();
}
// create file name with current date
$image = '/assets/img/posts/' . date("Y_m_d_H_i_s") . '.' . $imageMime;
$image_upload = move_uploaded_file($_FILES['img']['tmp_name'], ROOT_PATH . $image);
if(!image upload ){
echo 'در هنگام اپلود تصویر مشکلی پیش امد';
die();
}
echo 'تصویر با موفقیت اپلود شد';
خوشحال میشم اگه کمکتون کرد این پاسخ رو به عنوان بهترین پاسخ انتخاب کنی
سلام نیما جان نحوه آپلود با php رو میدونم در مورد آروان کلود چیکار کنم کدوم سرویسش به درد اینکار میخوره ؟
اونجا که قراره با دستور moveuploadedfile فایل رو آپلود کنیم چه مسیری رو بهش بدیم از آروان کلود ؟
بیشتر سوالم روی آروان کلود هست چه سرویسی رو انتخاب کنم برای اینکار و لینک آموز ش اگه هست بفرستید ممنون
سلام.
بصورت خلاصه کاری که میتونید بکنید این هست که از سرویس فضای ابری (Storage) ابرآروان استفاده کنید و بعد از ایجاد صندوقچه (Bucket) مشخصاتی که بهتون میده رو در پروژتون تعریف کنید.
سپس با تعریف یک disk جدید از نوع s3
در config/filesystem.php میتونید با استفاده از متدهای Storage لاراول فایل هاتون رو آپلود یا دانلود کنید.
use Illuminate\Http\File;
use Illuminate\Support\Facades\Storage;
Storage::disk('arvan_s3')->putFile('photos', new File('/path/to/photo'));
Storage::disk('arvan_s3')->download('file.jpg');
با این حالت به بیان دیگه انگار دارید یک هارد جدید علاوه بر هارد خود هاست یا سرورتون تعریف میکنید.
دوستمون قبل اینکه من بنویسم نوشتم خیلی هم کامل انتخابش کنید برای دوستمون رو به عنوان بهترین پاسخ
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟