リモートサーバからイメージを取得してHTML5 canvas APIを使用して操作できるPHPスクリプトがあります。file_get_contentsはプロダクションサーバでは動作しません。ローカルでは細かい
<?php
if ((isset($_GET['url']))) {
$url = $_GET['url'];
$file_format = pathinfo($url, PATHINFO_EXTENSION);
try
{
header("Content-Type: image/$file_format");
header("Content-disposition: filename=image.$file_format");
$img = file_get_contents($url);
echo $img;
}
catch(Exception $e)
{
echo $e->getMessage();
}
}
else die('Unknown request');
?>
典型的な要求は次のようになります。
fetch_image.php?url=http://example.com/images/image.png
すべては私のローカルサーバー上で正常に動作しますが、運用サーバは、私は、このエラーを与える:
NetworkError: 500 Internal Server Error.
エラーログレジスタにこれをメッセージ:
PHP Warning: Cannot modify header information - headers already sent.
私は提案のいくつかを試してみましたが、そのは動作していない:
allow_url_fopen = 1
完全なスクリプト( '<?php'タグを含む)を貼り付けてください。 – Dogbert
は、間違ったパスのように聞こえます –
エラーは何行目にありますか?正確なエラーメッセージも投稿してください。 – Dogbert