Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
注意:未定义的索引:fileToUpload位于C:\wamp\www\upload.php的第46行_Php_Html_Amazon S3 - Fatal编程技术网

注意:未定义的索引:fileToUpload位于C:\wamp\www\upload.php的第46行

注意:未定义的索引:fileToUpload位于C:\wamp\www\upload.php的第46行,php,html,amazon-s3,Php,Html,Amazon S3,我正在尝试使用php将图像文件上载到AWS S3服务器。然而,我不断地得到这个错误 Notice: Undefined index: fileToUpload in C:\wamp\www\upload.php on line 46 Notice: Undefined index: fileToUpload in C:\wamp\www\upload.php on line 51 这是我的密码: HTML(文件名:up.HTML): { 选择要上载的图像: PHP(文件名:upload.P

我正在尝试使用php将图像文件上载到AWS S3服务器。然而,我不断地得到这个错误

Notice: Undefined index: fileToUpload in C:\wamp\www\upload.php on line 46

Notice: Undefined index: fileToUpload in C:\wamp\www\upload.php on line 51
这是我的密码:

HTML(文件名:up.HTML):

{
选择要上载的图像:
PHP(文件名:upload.PHP)



非常感谢您的帮助。谢谢!

您在表单中有一个错误,您忘记了ectype=“multipart/form data”中的“n”是enctype

请删除
$IAM\u KEY
$IAM\u SECRET
的值,这样您就不会将存储桶暴露给不需要的参与者。当
变量转储($\u文件)时,您会得到什么
?转储时没有错误。以下是我得到的信息:C:\wamp\www\upload.php:33:array(size=1)'fileToUpload'=>array(size=5)'name'=>string'pic4.jpg'(length=8)'type'=>string'image/jpeg'(length=10)'tmp_name'=>string'C:\wamp\tmp\php8EB.tmp'(length=22)'error'=>int 0'size'=>int 1849624这是我在修复拼写错误后得到的错误:错误:在“”上执行“PutObject”时出错;AWS HTTP错误:cURL错误60:SSL证书问题:无法获取本地颁发者证书(请参阅)请编辑您的问题并删除您的S3证书。我已修复错误。现在我得到以下信息:错误:在“”上执行“PutObject”时出错;AWS HTTP错误:cURL错误60:SSL证书问题:无法获取本地颁发者证书(请参阅)好的。现在我们有了文件toupload,这是另一个问题。您需要安装证书cacert.pem。此链接可能会帮助您:感谢您的输入。我按照说明进行了操作,但问题仍然存在。
{<!DOCTYPE html>
<html>
<body>

<form action="upload.php" method="post" ectype="multipart/form-data">
    Select image to upload:
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="Upload Image" name="submit">
</form>

</body>
</html>
<?php

    require '../vendor/autoload.php';

    use Aws\S3\S3Client;
    use Aws\S3\Exception\S3Exception;
    // AWS Info
    $bucketName = 'bakemonoden1';
    $IAM_KEY = '******************';
    $IAM_SECRET = '***************************************';
    // Connect to AWS
    try {

        $s3 = S3Client::factory(
            array(
                'credentials' => array(
                    'key' => $IAM_KEY,
                    'secret' => $IAM_SECRET
                ),
                'version' => 'latest',
                'region'  => 'ca-central-1'
            )
        );
    } catch (Exception $e) {

        die("Error: " . $e->getMessage());
    }

    $keyName = 'test_example/' . basename($_FILES["fileToUpload"]['tmp_name']);
    $pathInS3 = 'https://s3.ca-central-1.amazonaws.com/' . $bucketName . '/' . $keyName;
    // Add it to S3
    try {
        // Uploaded:
        $file = $_FILES["fileToUpload"]['tmp_name'];
        $s3->putObject(
            array(
                'Bucket'=>$bucketName,
                'Key' =>  $keyName,
                'SourceFile' => $file,
                'StorageClass' => 'REDUCED_REDUNDANCY'
            )
        );
    } catch (S3Exception $e) {
        die('Error:' . $e->getMessage());
    } catch (Exception $e) {
        die('Error:' . $e->getMessage());
    }
    echo 'Done';

?>