1

S3 SDK を使用して Amazon でバケットに接続しているときに、PHP ファイルを実行するにはどうすればよいですか?

で試してみた$s3->getBucketところ、次の配列が得られました。しかし、このファイルの実行結果が必要です。

Array
(
    [content/content.php] => Array
        (
            [name] => content/content.php
            [time] => 1353105202
            [size] => 1223
            [hash] => 355c51389b51814d4b6c822a6ec28cfe
        )

)

PHPファイルを実行する関数/方法はありますか?

4

3 に答える 3

3

You can't execute PHP files directly on Amazon S3.

What you would have to do is download it's contents, write the contents to the file, then run the file itself (by using include() or require()).

If the file outputs stuff directly, you can wrap it in ob_start() and ob_get_clean() to get any output.

$source = $s3->getObject($bucket, $object);

$filename = tempnam('/tmp');
$file = fopen($filename, 'w');
fwrite($file, $source);
fclose($file);

ob_start();
require_once $filename;
$result = ob_get_clean();

echo $result; // the result of the executed PHP.
于 2012-12-11T08:56:21.640 に答える
0

s3fsのようなものを使用してローカル ファイル システムに S3 バケットをマウントし、他のファイルと同じようにそのファイルを含めることができます。

于 2012-12-11T17:48:00.813 に答える