【问题标题】:putbucket and putobject not working. Getting blank screen after clicking on upload buttonputbucket 和 putobject 不工作。点击上传按钮后出现黑屏
【发布时间】:2013-03-16 17:28:55
【问题描述】:

我正在按照教程在执行此代码之前在 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>

【问题讨论】:

    标签: php amazon-s3


    【解决方案1】:

    坑看起来你在混合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();
     }
    

    【讨论】:

    • 它显示空白屏幕,甚至没有表单:(
    • 将 se 更改为 s3 但仍然是空白屏幕。当我评论涉及 $s3 的行时,我可以看到表单。
    • 一次添加一个 s3 命​​令,从顶部开始,直到找出哪个失败。
    • 我照你说的做了。 putObjectFile 不工作。其他人工作正常。
    • 使用的代码如上所示。但点击上传按钮后,我看到空白屏幕甚至没有错误消息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-11
    相关资源
    最近更新 更多