No Problem, the issue is that you referring to the invalid post element
$bucket_name as opposed to the correct on bucket_name.

*$bucket_name = $_POST['$bucket_name'];*

Should be

*$bucket_name = $_POST['bucket_name'];*

Aziz


On Sun, Sep 29, 2013 at 3:28 PM, Tim Dunphy <bluethu...@gmail.com> wrote:

> Hey guys,
>
>  Sorry about that i should have posted the full code to give you some idea
> of context. Anyway, here it is:
>
> <?php
>   require_once 'sdk.class.php';
> if (isset($_POST['submit'])) {
>
> *  $bucket_name = $_POST['$bucket_name'];*
>  // Create the S3 Object from the SDK
>   *$s3 = new AmazonS3();*
>
> *  $result = $s3->deleteObject(array(*
> *    'Bucket' => $bucket_name ));*
>
>
>  // The response comes back as a Simple XML Object
> // In this case we just want to know if everything was okay.
> // If not, report the message from the XML response.
>  if ((int) $response->isOK()) {
>     echo '<center>Deleted Bucket';
>     echo '<br /><br />';
>     echo '<a href=listbuckets.php>List Buckets</a></center>';
>   } else {
>     echo (string) $response->body->Message;
>   }
>  //echo '<br /><br />';
> }
> ?>
> <body>
>   <center><h3>Delete S3 Bucket</h3>
>    <form name="delete_bucket" method="post" action="delete_bucket.php">
>     <label for="bucket_name">Bucket Name:</label><br />
>   *  <input type="text" id="bucket_name" name="bucket_name" /><br /><br />
> *
>     <input type="submit" name="submit" value="Delete Bucket" />
>   </form></center>
>
> So, as you can see I am taking the 'bucket_value' from $_POST and passing
> it into the call to S3.
>
> When the form comes up on the web I give it the name of one of my S3
> buckets. The result is the following error:
>
> Notice: Undefined index: $bucket_name in /var/www/awssdk/delete_bucket.php
> on line 67 Warning: Missing argument 2 for AmazonS3::delete_object() in
> /var/www/awssdk/services/s3.class.php on line 1576 Notice: Undefined
> variable: filename in /var/www/awssdk/services/s3.class.php on line 1581
> Warning: preg_match() expects parameter 2 to be string, array given in
> /var/www/awssdk/services/s3.class.php on line 1042 Warning: preg_match()
> expects parameter 2 to be string, array given in
> /var/www/awssdk/services/s3.class.php on line 1043 Fatal error: Uncaught
> exception 'S3_Exception' with message 'S3 does not support "Array" as a
> valid bucket name. Review "Bucket Restrictions and Limitations" in the S3
> Developer Guide for more information.' in
> /var/www/awssdk/services/s3.class.php:548 Stack trace: #0
> /var/www/awssdk/services/s3.class.php(1594): AmazonS3->authenticate(Array,
> Array) #1 [internal function]: AmazonS3->delete_object(Array) #2
> /var/www/awssdk/sdk.class.php(436): call_user_func_array(Array, Array) #3
> /var/www/awssdk/delete_bucket.php(72): CFRuntime->__call('deleteObject',
> Array) #4 /var/www/awssdk/delete_bucket.php(72):
> AmazonS3->deleteObject(Array) #5 {main} thrown in
> /var/www/awssdk/services/s3.class.php on line 548
>
>
>
> I hope that clarifies my situation a bit. Sorry for not providing that
> sooner!
>
> Thanks
> Tim
>
>
> On Sun, Sep 29, 2013 at 1:09 PM, Aziz Saleh <azizsa...@gmail.com> wrote:
>
>> Hi Tim,
>>
>> Is the call working? Does it actually get deleted?
>>
>> This could just be an issue (which I see alot) where developers do not
>> check for variables or preset them before usage, causing those notices to
>> come up (pretty harmless most of the times).
>>
>> Aziz
>>
>>
>> On Sun, Sep 29, 2013 at 12:30 PM, Tim Dunphy <bluethu...@gmail.com>wrote:
>>
>>> Hi All,
>>>
>>>  I am attempting to delete an empty S3 bucket using the AWS PHP SDK.
>>>
>>>  Here's how they describe the process in the docs:
>>>
>>> $result = $client->deleteBucket(array(
>>>     // Bucket is required
>>>     'Bucket' => 'string',
>>> ));
>>>
>>>  You can find the full entry here:
>>>
>>> AWS PHP SDK Delete Bucket
>>> Docs<
>>> http://docs.aws.amazon.com/aws-sdk-php-2/latest/class-Aws.S3.S3Client.html#_deleteBucket
>>> >
>>>
>>>
>>> Here's how I approached it in my code:
>>>
>>>  $s3 = new AmazonS3();
>>>
>>>   $result = $s3->deleteObject(array(
>>>     'Bucket' => $bucket_name ));
>>>
>>> But when I run it, this is the error I get:
>>>
>>> 'Notice: Undefined index: $bucket_name in
>>> /var/www/awssdk/delete_bucket.php
>>> on line 5 Warning: Missing argument 2 for AmazonS3::delete_object() in
>>> /var/www/awssdk/services/s3.class.php on line 1576 Notice: Undefined
>>> variable: filename in /var/www/awssdk/services/s3.class.php on line 1581
>>> Warning: preg_match() expects parameter 2 to be string, array given in
>>> /var/www/awssdk/services/s3.class.php on line 1042 Warning: preg_match()
>>> expects parameter 2 to be string, array given in
>>> /var/www/awssdk/services/s3.class.php on line 1043 Fatal error: Uncaught
>>> exception 'S3_Exception' with message 'S3 does not support "Array" as a
>>> valid bucket name. Review "Bucket Restrictions and Limitations" in the S3
>>> Developer Guide for more information.' in
>>> /var/www/awssdk/services/s3.class.php:548 Stack trace: #0
>>> /var/www/awssdk/services/s3.class.php(1594):
>>> AmazonS3->authenticate(Array,
>>> Array) #1 [internal function]: AmazonS3->delete_object(Array) #2
>>> /var/www/awssdk/sdk.class.php(436): call_user_func_array(Array, Array) #3
>>> /var/www/awssdk/delete_bucket.php(10): CFRuntime->__call('deleteObject',
>>> Array) #4 /var/www/awssdk/delete_bucket.php(10):
>>> AmazonS3->deleteObject(Array) #5 {main} thrown in
>>> /var/www/awssdk/services/s3.class.php on line 548'
>>>
>>>
>>> This is line 548 in the above referenced file:
>>>
>>> // Validate the S3 bucket name
>>>                 if (!$this->validate_bucketname_support($bucket))
>>>                 {
>>>                         // @codeCoverageIgnoreStart
>>>                         throw new S3_Exception('S3 does not support "' .
>>> $bucket . '" as a valid bucket name. Review "Bucket Restrictions and
>>> Limitations" in the S3 Developer Guide for more information.');
>>>                         // @codeCoverageIgnoreEnd
>>>                 }
>>>
>>>
>>>
>>>
>>> Has anyone played around enough with the AWS SDK to know what I'm doing
>>> wrong here? Would anyone else be able to hazard a guess?
>>>
>>> Thanks
>>> Tim
>>> --
>>> GPG me!!
>>>
>>> gpg --keyserver pool.sks-keyservers.net --recv-keys F186197B
>>>
>>
>>
>
>
> --
> GPG me!!
>
> gpg --keyserver pool.sks-keyservers.net --recv-keys F186197B
>
>

Reply via email to