注意:未定义的索引:fileToUpload位于C:\wamp\www\upload.php的第46行
我正在尝试使用php将图像文件上载到AWS S3服务器。然而,我不断地得到这个错误注意:未定义的索引: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
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';
?>