PHP में S3 और क्लाउड स्टोरेज के साथ कार्य: PHP के लिए AWS SDK लाइब्रेरी

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

PHP में S3 और क्लाउड स्टोरेज के साथ कार्य: PHP के लिए AWS SDK



आधुनिक वेब एप्लिकेशन फ़ाइलों, छवियों, बैकअप और अन्य सामग्री को संग्रहीत करने के लिए तेज़ी से क्लाउड स्टोरेज का उपयोग कर रहे हैं। Amazon S3 (Simple Storage Service) सबसे लोकप्रिय ऑब्जेक्ट स्टोरेज सेवाओं में से एक है, जो स्केलेबल, सुरक्षित और उच्च-प्रदर्शन वाला स्टोरेज प्रदान करता है। इस लेख में, हम देखेंगे कि PHP के लिए आधिकारिक AWS SDK का उपयोग करके PHP में S3 और क्लाउड स्टोरेज के साथ कैसे कार्य किया जाए।



PHP के लिए AWS SDK क्या है?



PHP के लिए AWS SDK Amazon की आधिकारिक लाइब्रेरी है, जो PHP एप्लिकेशन से S3 सहित AWS सेवाओं के साथ इंटरैक्ट करने की अनुमति देती है। यह एक सुविधाजनक ऑब्जेक्ट-ओरिएंटेड इंटरफ़ेस, अनुरोध हस्ताक्षरों का स्वचालित प्रबंधन, त्रुटि प्रबंधन और PHP के सभी आधुनिक संस्करणों (7.2+) के लिए समर्थन प्रदान करती है।



AWS SDK की स्थापना



स्थापना Composer के माध्यम से की जाती है। अपने प्रोजेक्ट की रूट डायरेक्टरी में निम्न कमांड चलाएँ:



composer require aws/aws-sdk-php


स्थापना के बाद, अपनी PHP फ़ाइल में Composer ऑटोलोडर शामिल करें:



require 'vendor/autoload.php';


S3 से कनेक्शन कॉन्फ़िगर करना



S3 के साथ कार्य करने के लिए, आपको Access Key ID और Secret Access Key की आवश्यकता होगी, जो AWS IAM कंसोल से प्राप्त किए जा सकते हैं। साथ ही, अपने बकेट का क्षेत्र (region) निर्दिष्ट करना आवश्यक है (उदाहरण के लिए, us-east-1 या eu-central-1)।



S3 क्लाइंट के बुनियादी कॉन्फ़िगरेशन का उदाहरण:



use Aws\\S3\\S3Client;

$s3Client = new S3Client([ 'version' => 'latest', 'region' => 'us-east-1', 'credentials' => [ 'key' => 'आपकी_ACCESS_KEY', 'secret' => 'आपकी_SECRET_KEY', ],]);


प्रोडक्शन के लिए, कोड में कुंजियाँ संग्रहीत करने से बचने के लिए एनवायरनमेंट वेरिएबल या AWS कॉन्फ़िगरेशन फ़ाइलों का उपयोग करने की अनुशंसा की जाती है:



putenv('AWS_ACCESS_KEY_ID=आपकी_ACCESS_KEY');putenv('AWS_SECRET_ACCESS_KEY=आपकी_SECRET_KEY');putenv('AWS_DEFAULT_REGION=us-east-1');


PHP में S3 के साथ मुख्य संचालन



1. बकेट बनाना (Bucket)



बकेट आपकी वस्तुओं (फ़ाइलों) के लिए एक कंटेनर है। बकेट का नाम वैश्विक रूप से अद्वितीय होना चाहिए:



try {    $result = $s3Client->createBucket([        'Bucket' => 'my-unique-bucket-name',    ]);    echo "बकेट बनाया गया: " . $result['Location'];} catch (Aws\\Exception\\AwsException $e) {    echo "त्रुटि: " . $e->getMessage();}


2. फ़ाइल अपलोड करना (PutObject)



स्थानीय फ़ाइल सिस्टम से S3 में फ़ाइल अपलोड करना:



try {    $result = $s3Client->putObject([        'Bucket' => 'my-unique-bucket-name',        'Key'    => 'images/photo.jpg',         // बकेट में ऑब्जेक्ट का पथ        'SourceFile' => '/local/path/to/photo.jpg', // स्थानीय फ़ाइल        'ACL'    => 'public-read',               // एक्सेस अनुमतियाँ    ]);    echo "फ़ाइल अपलोड की गई। URL: " . $result['ObjectURL'];} catch (Aws\\Exception\\AwsException $e) {    echo "अपलोड त्रुटि: " . $e->getMessage();}


आप Body पैरामीटर का उपयोग करके सीधे स्ट्रिंग से डेटा भी अपलोड कर सकते हैं:



$result = $s3Client->putObject([    'Bucket' => 'my-unique-bucket-name',    'Key'    => 'data.txt',    'Body'   => 'फ़ाइल की सामग्री',]);


3. फ़ाइल डाउनलोड करना (GetObject)



S3 से फ़ाइल को फ़ाइल में या वेरिएबल में डाउनलोड किया जा सकता है:



// फ़ाइल में$result = $s3Client->getObject([    'Bucket' => 'my-unique-bucket-name',    'Key'    => 'images/photo.jpg',    'SaveAs' => '/local/path/to/downloaded_photo.jpg',]);

// वेरिएबल में$result = $s3Client->getObject([ 'Bucket' => 'my-unique-bucket-name', 'Key' => 'data.txt',]);$content = $result['Body']->getContents();echo $content;


4. फ़ाइल हटाना (DeleteObject)



try {    $                    

अनुशंसाएँ