Пример, в котором PHP принимает файлы, загруженные через HTML-форму, и загружает их в хранилище AWS S3. Начнем с простого HTML-кода для загрузки...
Пример, как PHP принимает файлы, загруженные через HTML-форму, и загружает их в хранилище AWS S3.
Сначала создадим простой HTML-код для загрузки, чтобы PHP мог принимать и загружать файлы. На странице HTML мы создаем простую форму для выбора файла, который хотим загрузить.
В приведенном выше коде мы используем тег <form> для загрузки файла на скрипт upload.php, а также указываем атрибут enctype="multipart/form-data" для поддержки загрузки файлов.
Теперь в PHP мы будем использовать библиотеку AWS SDK for PHP, чтобы загрузить файл в хранилище S3.
||<?php||---|---|||//upload.php||||||require'vendor/autoload.php';//ПодключаембиблиотекуAWSSDKдляPHP||||||useAws\S3\S3Client;||||||if($_SERVER['REQUEST_METHOD']==='POST'){if(isset($_FILES['file'])){$bucketName='your-bucket-name';//ЗаменитенаназваниевашегоS3хранилища|||$s3Key='uploads/'.basename($_FILES['file']['name']);|||$file=$_FILES['file']['tmp_name'];||||||$s3=newS3Client(['version'=>'latest',|||'region'=>'your-region',//УкажитерегионвашегоS3хранилища|||'credentials'=>['key'=>'your-access-key',|||'secret'=>'your-secret-key',|||],|||]);||||||try{$s3->putObject(['Bucket'=>$bucketName,|||'Key'=>$s3Key,|||'Body'=>fopen($file,'r'),|||'ACL'=>'public-read',//Устанавливаемдоступначтениедлявсех|||]);|||echo'Файл успешно загружен';|||}catch(Exception$e){echo'Ошибка загрузки файла: '.$e->getMessage();}|||}else{echo'Файл не выбран для загрузки';}|||}else{echo'Неверный метод запроса';}|
В приведенном коде PHP мы сначала подключаем библиотеку AWS SDK для PHP и создаем объект клиента S3. Затем мы получаем загружаемый файл из глобальной переменной $_FILES и используем объект клиента S3 для загрузки файла в указанное хранилище.
Обратите внимание, что вам необходимо сначала создать хранилище S3 в AWS и настроить соответствующие права доступа. В этом примере мы устанавливаем загружаемые файлы на общедоступный доступ.