2017-06-21 14 views
0

WebアプリケーションのPHPバックエンドを作成しています。今度はすべてのAPI呼び出しをログファイルに記録する必要があります。これで、サーバー自体の内部にログファイルを作成し、新しいAPI呼び出しが行われたときに同じファイルを追加することができます。私はイメージアップロードのAWS S3ファイルストレージを使用していますが、私はログファイルの作成を実装し、という特定のフォルダにこのログファイルを追加すれば、S330バケットにログを記録します。PHPログファイルを作成してS3バケット内のフォルダにあるファイルに追加する

S3バケット内に新しいログファイルを作成し(ローカルからs3にアップロードしない)、ローカルAPI呼び出しログを追加することは可能ですか?

ログ作成のための私のローカルコードを怒鳴る与えられます。

$log = "--------------------------------------".PHP_EOL. 
"UserIP: ".$_SERVER['REMOTE_ADDR'].' - '.date("F j, Y, g:i a").PHP_EOL. 
     "Request Data: ".$req_dump.PHP_EOL. 
     "Request Method: ".$_SERVER['REQUEST_METHOD'].PHP_EOL. 
     "API URL: ".$actual_link.PHP_EOL. 
     "File Name: ".$filename.PHP_EOL. 
     "--------------------------------------".PHP_EOL; 

     // $fp = fopen('../api_logs/request.txt', 'a'); 
     // $fw = fwrite($fp, $log); 
     // fclose($fp); 
     $fp = file_put_contents('../api_logs/request.log', $log, FILE_APPEND); 

答えて

1

アマゾンストリームラッパーを使用すると、file_get_contentsfopencopyrenameunlinkのような組み込みのPHPの関数を使用してアマゾンS3からデータを格納および取得することができます、mkdirrmdirなど

あなたは以下のようにファイルのものにデータをストリームすることができます

$stream = fopen('s3://bucket/key', 'a'); 
fwrite($stream, 'Hello!'); 
fclose($stream); 

Amazon S3ストリームラッパーの完全なドキュメントは、here

関連する問題