2016-11-18 94 views
0

工作在我的PHP腳本FPDFAWS S3 PNG圖像不FPDF

<?php 
... 
$mypdf->Image("http://s3-ap-southeast-1.amazonaws.com/mybucket/path/to/the/image/file.png", null, null, 150, 150); 
... 
?> 

,它會導致錯誤。但是,當我嘗試做同樣的事情,但使用不在S3上託管的不同映像時,它可以工作。

這怎麼可能S3不適用於FPDF?

+0

什麼錯誤,你恰好有? –

回答

1

我有同樣的問題,我在fpdf源文件中挖了一些後發現問題是fopen()。爲了在S3圖像中使用此方法,您需要使用S3 Stream Wrapper。這需要AWS SDK for PHP或者你也可以推出自己的,如果真的想。

我的代碼看起來像這樣

$credentials = new Aws\Credentials\Credentials('KEY','SECRET'); 
$client = new Aws\S3\S3Client([ 
    'version'=>'latest', 
    'region'  => 'REGION', 
    'credentials' => $credentials 
]); 
$client->registerStreamWrapper(); 

// Link to file 
$url = 's3://bucket/key'; 

// add background image 
$fpdf->Image($url, 0, 0, $fpdf->GetPageWidth(), $fpdf->GetPageHeight());