Putbucket和object不工作.点击上传按钮后屏幕空白


putbucket and putobject not working. Getting blank screen after clicking on upload button

我在执行此代码之前在amazon s3上上传图像文件。但是当我使用localhost加载页面时,我看到一个空白屏幕。不知道为什么。我试图删除行在php代码。我猜是出了问题,而实例化S3构造函数,但不确定。我也试图在我的本地主机(不是亚马逊)上使用php上传文件,我也发现了这种情况。那么问题出在哪里呢?请帮帮我。我卡住了。

 <?php
$bucketname="myname";
if(!class_exists('S3')) require_once('S3.php');
if(!defined('awsAccessKey')) define('awsAccessKey','key');
if(!defined('awsSecretKey')) define('awsSecretKey','secretkey');
$s3= new S3(awsAccessKey, awsSecretKey);
if(isset($_POST['Submit']))
{
    $fileName= $_FILES['theFile']['name'];
    $fileTempName= $_FILES['theFile']['tmp_name'];
    $s3->putBucket($bucketname, S3::ACL_PUBLIC_READ);
    //if($s3->putObjectFile($fileTempName,$bucketname,$fileName, S3::ACL_PUBLIC_READ)
    //{
    //  echo "We successfully uploaded your file.";
    //}
    //else
    //{
    //  echo "something went wrong";
    //}
    try
    {
        $s3->putObjectFile($fileTempName,$bucketname,$fileName, S3::ACL_PUBLIC_READ);
    }
    catch(Exception $e)
    {
            echo $e->getMessage();
    }
}
?>
<form action="" method="post" enctype="multipart/form-data">
    <input name="theFile" type="file" />
    <input name="Submit" type="submit" value="Upload"/>
</form>

看起来你把HTML和php混在一起了

    $s3->putBucket($bucketname, S3::ACL_PUBLIC_READ);<br><br>

这一行看起来也不对

if($s3->putObjectFile($fileTempName,$bucketname,$fileName, Se::ACL_PUBLIC_READ)

应该是

    if($s3->putObjectFile($fileTempName,$bucketname,$fileName, S3::ACL_PUBLIC_READ)

你需要仔细检查你的php语法。也许在代码中加入一些echo语句来输出一些调试信息。您还可以在代码

周围放置一个try catch
try
{
   $s3->putObjectFile(params);
}
catch(Exception $e)
{
    echo $e->getMessage();
 }