通过PHP将文件从网站上传到Amazon EC2服务器

时间:2018-12-18 11:39:47

标签: php amazon-web-services server

我有一个网站(bedatify.com),我想创建一个页面,人们可以在其中将其图像上传到我的Amazon EC2服务器。 我检查了类似的问题 Unable to upload files on Amazon EC2 - phphow to upload to files to amazon EC2 但我不知道如何管理! 这一段f代码是一个好的开始吗?我该怎么做才能让用户将图片从我的网站直接上传到我的EC2服务器?

<?php
if(isset($_POST['image'])){
    echo "in";
    $image = $_POST['image'];
    upload($_POST['image']);
    exit;
}
else{
    echo "image_not_in";
    exit;
}


function upload($image){
    $now = DateTime::createFromFormat('U.u', microtime(true));
    $id = "pleeease";

    $upload_folder = "/var/www/html/upload";
    $path = "$upload_folder/$id.jpg";

    if(file_put_contents($path, base64_decode($image)) != false){
        echo "uploaded_success"
    }
    else{
        echo "uploaded_failed";
    }
}

?>

2 个答案:

答案 0 :(得分:0)

只是小费: 这是S3的完美用例。

因此,请在Php后端中从S3上传并检索。 如果将其上传到EC2实例,则静态文件会填满您的实例空间。如果实例被终止怎么办?

有一个PHP SDK可以使用: "await-initial-transfer"

一个例子是:

use Aws\S3\MultipartUploader;
use Aws\Exception\MultipartUploadException;

$uploader = new MultipartUploader($s3Client, '/path/to/large/file.zip', [
    'bucket' => 'your-bucket',
    'key'    => 'my-file.zip',
]);

try {
    $result = $uploader->upload();
    echo "Upload complete: {$result['ObjectURL']}\n";
} catch (MultipartUploadException $e) {
    echo $e->getMessage() . "\n";
}

希望对您有帮助!

多米尼克

答案 1 :(得分:0)

uploadfile.php

int id = 68;
getTestDumpWriter(yamlFile, "codeClient", String.format("%08d", id));

index.html

const values = [
  { value: 'foo' },
  { value: 'bar' },
  { value: 'baz' },
  { value: 'overview' },
]

function toFront(arr, search) {
  return arr.sort(a => -a.value.includes(search))
}

console.log(toFront(values, 'overview'))