Amazon S3 バケットにファイルをアップロードしようとしています。私の友人は過去に私たちのサイトでこれを機能させていましたが、1年後には機能しなくなり、何が問題なのかわかりません. Geoff gaudreaultによって開発されたS3 PHP ライブラリを使用しています。
このライブラリは私にはかなり単純に見えますが、実際には 1 つの重要な機能があるように見えます: putObject()
.
残念ながら、ゲートから出ることさえできません。次のエラー メッセージが表示されます。
Error 324 (net::ERR_EMPTY_RESPONSE): The server closed the connection without sending any data.
アップロード フォームの codeigniter PHP は次のaction
とおりです。
function s3(){
$config['upload_path'] = $_SERVER["DOCUMENT_ROOT"].'/temp/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '1000000';
$config['max_width'] = '1024000';
$config['max_height'] = '768000';
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload())
{
$error = array('error' => $this->upload->display_errors());
print_r($error);
echo 'failure';
}
else
{
$data = array('upload_data' => $this->upload->data());
$fn = $data['file_name'];
$type = substr($fn, strrpos($fn, '.') + 1);
$this->load->library('s3');
$temp_file_path = $_SERVER["DOCUMENT_ROOT"]."/temp/" . $data['file_name'];
$contents = read_file($temp_file_path); // will this blow up or timeout for large files?!
$newFileName = uniqid().".".substr($temp_file_path, strrpos($temp_file_path, '.') + 1);
$contentPath = "mysite.com/Images";
$this->s3->putObject($newFileName, $contents, $contentPath, 'private', $type);
echo 'success';
}
}
誰か考えがありますか?