AWS S3 を使用して、ウェブサイトの画像ファイルを保存したいと考えています。AWS Route 53 から dns cname images.mydomain.com によって参照されたバケット名 images.mydomain.com を作成します。
フォルダーまたはファイルが存在するかどうかを確認したい。そうでない場合は作成します。
次の php コードは、ストリーム ラッパーを使用した通常のバケット名では正常に機能しますが、xxxx.mydomain.com などのこのタイプのバケット名では失敗します。この種のバケット名は、dosObjectExist() メソッドでも失敗します。
// $new_dir = "s3://aaaa/akak3/kk1/yy3/ww4" ; // this line works !
$new_dir = "s3://images.mydomain.com/us000000/10000" ; // this line fails !
if( !file_exists( $new_dir) ){
if( !mkdir( $new_dir , 0777 , true ) ) {
echo "create new dir $new_dir failed ! <br>" ;
} else {
echo "SUCCEED in creating new dir $new_dir <br" ;
}
} else {
echo "dir $new_dir already exists. Skip creating dir ! <br>" ;
}
次のメッセージを受け取りました
警告: アクセスしようとしているバケットは、指定されたエンドポイントを使用してアドレス指定する必要があります。今後のすべてのリクエストをこのエンドポイント「images.mydomain.com.s3.amazonaws.com」に送信してください。C:\AppServ\www\ecity\vendor\aws\aws-sdk-php\src\Aws\S3\StreamWrapper.php の 737 行目
ここで何が問題なのですか?
この場合、何をすべきかアドバイスはありますか?
ありがとう!