在amazonS3上使用$ _POST有诀窍吗?

时间:2011-12-19 16:54:25

标签: php post amazon-s3

我有一个简单的php电子邮件表单,其中表单经过验证并通过ajax调用提交给email.php。它在我自己的服务器上工作正常,但在Amazon S3上我收到错误:MethodNotAllowedThe specified method is not allowed against this resource.OBJECTPOST2871412DE...,然后是一连串的数字和字母。

我的php文件如下

<?php

$to = "person@domain.com";
$subject = "Message from ".$_POST['my_name'];

$person = $_POST['my_name'];
$email = $_POST['my_email'];
$comments = $_POST['my_comments'];



$headers = "From: ".$email."\r\n" .
         "Reply-To: ".$email. "\r\n";

$message = "Entry from: ".$person." (".$email.")\n\n Comments: ".$comments;

$result = mail($to, $subject, $message, $headers);


?>

这是ajax调用(绝对php url审查):

$(document).ready(function(){

    $("#emailSubmitBtn").click(function(){

        if ( $("#contactForm").valid() ) {

            var myName = $('#my_name').val();
            var myEmail = $('#my_email').val();
            var myComments = $('#my_comments').val(); 

            var dataString = 'my_name='+ myName + '&my_email=' + myEmail + '&my_comments=' + myComments;

            $.ajax({
                type: "POST",
                url: "http://####.s3.amazonaws.com/email.php",
                data: dataString,
                success: function() {
                    $('#contact').html("<div id='message'></div>");
                    $('#message').html("<p>Thank you for submitting the form!</p>")
                    .hide()
                    .fadeIn(1500);
                }
            });
            return false;
        }


    });

});

1 个答案:

答案 0 :(得分:4)

Amazon S3无法执行PHP文件,因此您尝试执行的操作无法正常工作。

您可以将文件发布到S3存储桶(而不是特定的文件URL,因此允许的方法错误),但您无法在那里运行代码。这是简单 存储 服务。