| سحاب | تحميل ملفات متعددة | BASE64 تحميل الصورة | تحميل ملف الخادم |
|---|---|---|---|
| ؟ سحابة خاصة | ✅ | - | ✅ |
| ؟ سحابة علي بابا | ✅ | ✅ | ✅ |
| ؟ تينسنت سحابة | ✅ | ✅ | ✅ |
| ؟ سحابة Qiniu | ✅ | ✅ | ✅ |
| ؟ أمازون (S3) | ✅ | ✅ | ✅ |
composer require tinywan/storage $ res = Tinywan Storage Storage:: uploadFile ();
var_dump ( json_encode ( $ res ));
بعدv1.0.0، لا يلزم استدعاء هذه الطريقة بعد تهيئةTinywanStorageStorage::config()، وسيتم تهيئتها تلقائيًا. التكوين الافتراضي هو محول تحميل التكوينdefaultلتكوين ملفapp.php.
[
{
"key" : " webman " ,
"origin_name" : "常用编程软件和工具.xlsx " ,
"save_name" : " 03414c9bdaf7a38148742c87b96b8167.xlsx " ,
"save_path" : " runtime/storage/03414c9bdaf7a38148742c87b96b8167.xlsx " ,
"save_path" : " /var/www/webman-admin/public/storage/03414c9bdaf7a38148742c87b96b8167.xlsx " ,
"url" : " /storage/fd2d472da56c71a6da0a5251f5e1b586.png " ,
"uniqid " : " 03414c9bdaf7a38148742c87b96b8167 " ,
"size" : 15050 ,
"mime_type" : " application/vnd.openxmlformats-officedocument.spreadsheetml.sheet " ,
"extension" : " xlsx "
}
...
]فشل ، رمي
StorageAdapterExceptionاستثناء
| الحقول | يصف | مثال القيم |
|---|---|---|
| مفتاح | تحميل مفتاح الملف | Webman |
| Origin_name | اسم الملف الأصلي | برامج البرمجة الشائعة والأدوات |
| Save_Name | حفظ اسم الملف | 03414C9BDAF7A38148742C87B96B8167.XLSX |
| Save_Path | مسار حفظ الملف (قريب) | /var/www/webman-admin/runtime/storage/03414c9bdaf7a38148742c87b96b8167.xlsx |
| عنوان URL | مسار الوصول إلى URL | /storage/03414c9bdaf7a38148742c87b96b8167.xlsx |
| فريد | Uniqid | 03414C9BDAF7A38148742C87B96B8167 |
| مقاس | حجم الملف | 15050 (بايت) |
| mime_type | نوع الملف | application/vnd.openxmlformats-OfficeDocument.spreadsheetml.sheet |
| امتداد | تمديد الملف | XLSX |
بشكل افتراضي ، يتم تحميله على الخادم المحلي. سيتم إنشاء ملف له التاريخ الحالي كدليل فرعي واسم الملف المشفر بواسطة SHA1 من دفق الملفات ضمن دليل runtime/storage . على سبيل المثال ، قد يكون اسم الملف الذي تم إنشاؤه أعلاه:
runtime/storage/fd2d472da56c71a6da0a5251f5e1b586.png
إذا كنت تريد الوصول إلى الملف الذي تم تحميله بشكل مباشر أو تنزيله ، فيمكنك استخدام طريقة التخزين public .
يمكنك تكوين دليل التحميل الجذر في ملف تكوين config/plugin/tinywan/storage/app.php ، على سبيل المثال:
' local ' => [
' adapter ' => Tinywan Storage Adapter LocalAdapter::class,
' root ' => public_path () . ' /storage ' ,
],الوصول إلى المتصفح:
يدعم التحقق من الملفات التي تم تحميلها باستخدام فئات التحقق ، بما في ذلك حجم الملف ونوع الملف واللاحقة
| الحقول | يصف | مثال القيم |
|---|---|---|
| Single_limit | حد حجم ملف واحد ، افتراضي 200 متر | 1024 * 1024 * 200 |
| TOTAL_LIMIT TOTAL_LIMIT | الحد الأقصى لحجم الملفات ، الافتراضي 200m | 1024 * 1024 * 200 |
| أرقام | حد رقم الملف ، الافتراضي 10 | 10 |
| يشمل | قائمة أنواع الملفات المسموح بها | ['xlsx' ، 'pdf'] |
| استبعاد | قائمة أنواع الملفات غير المصرح بها | ['png' ، 'JPG'] |
composer require aliyuncs/oss-sdk-phpcomposer require qcloud/cos-sdk-v5composer require qiniu/php-sdkcomposer require league/flysystem-aws-s3-v3استخدم السيناريو: لقطة شاشة مباشرة للواجهة الأمامية (AVA ، قماش ، إلخ) يتم تحميل صورة لتيار بيانات BASE64 مباشرة إلى السحابة
{
"extension" : " png " ,
"base64" : " data:image/jpeg;base64,/9j/4AAQSkxxxxxxxxxxxxZJRgABvtyQBIr/MPTPTP/2Q== "
} public function upload ( Request $ request )
{
$ base64 = $ request -> post ( ' base64 ' );
$ response = Tinywan Storage Storage:: disk ( Tinywan Storage Storage:: MODE_OSS , false )-> uploadBase64 ( $ base64 , ' png ' );
var_dump ( $ response );
}
بعدv1.0.0، لا يلزم استدعاء هذه الطريقة بعد تهيئةTinywanStorageStorage::config()، وسيتم تهيئتها تلقائيًا. التكوين الافتراضي هو محول تحميل التكوينdefaultلتكوين ملفapp.php.
{
"save_path" : " storage/20220402213639624851671439e.png " ,
"url" : " http://webman.oss.tinywan.com/storage/20220402213639624851671439e.png " ,
"unique_id" : " 20220402213639624851671439e " ,
"size" : 11802 ,
"extension" : " png "
}سيناريو الاستخدام: يجب تحميل ملفات تصدير الخادم إلى التخزين السحابي ، أو تنزيلها في تخزين ملفات الوقت الصغار.
$ serverFile = runtime_path () . DIRECTORY_SEPARATOR . ' storage/webman.png ' ;
$ res = Tinywan Storage Storage:: disk ( Tinywan Storage Storage:: MODE_OSS , false )-> uploadServerFile ( $ serverFile );
بعدv1.0.0، لا يلزم استدعاء هذه الطريقة بعد تهيئةTinywanStorageStorage::config()، وسيتم تهيئتها تلقائيًا. التكوين الافتراضي هو محول تحميل التكوينdefaultلتكوين ملفapp.php.
{
"origin_name" : " /var/www/webman-admin/runtime/storage/webman.png " ,
"save_path" : " storage/6edf04d7c26f020cf5e46e6457620220402213414.png " ,
"url" : " http://webman.oss.tinywan.com/storage/6ed9ffd54d0df57620220402213414.png " ,
"unique_id" : " 6edf04d7c26f020cf5e46e6403213414 " ,
"size" : 3505604 ,
"extension" : " png "
} vendor/bin/phpstan analyse src
vendor/bin/php-cs-fixer fix src