Как сохранить Google Charts на сервере - PullRequest
7 голосов
/ 18 сентября 2010

Справочная информация: Мы используем Google Charts для создания графиков некоторых данных, созданных нашим веб-приложением.Пользователь создает отчет, а затем отправляет его по электронной почте.Проблема в том, что, как только пользователь открывает отчет в Microsoft Word, эта программа демонстрирует странное поведение в отношении динамически генерируемых изображений.

Итак, используя PHP, мы хотим сохранить наши динамически сгенерированные диаграммы на сервере, потому что Word может обрабатывать простые связанные изображения без каких-либо проблем.

Я немного растерялся из-за того, какпродолжать.Идеи?

Ответы [ 5 ]

8 голосов
/ 18 сентября 2010
<?
$imageData = file_get_contents('http://chart.apis.google.com/chart... etc');

// Attach image data as attachment to an email
//OR: 

file_put_contents('/path/to/save/image.png',$imageData);
?>
2 голосов
/ 18 сентября 2010

Самый простой способ - это использовать что-то вроде curl, чтобы получить изображение из Google и записать его в файл на вашем сервере.Вы также можете просто использовать fopen и связанные функции, если вы включите опцию allow_url_fopen.

1 голос
/ 10 января 2012

Умное решение, Посмотреть здесь! Очень очень очень просто http://www.battlehorse.net/page/topics/charts/save_google_charts_as_image.html

1 голос
/ 18 сентября 2010

Вы можете использовать curl, чтобы получить изображение и сохранить его на сервере:

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "http://url.to.chart/");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FILE, '/path/to/file');
curl_exec($ch);
curl_close($ch);
0 голосов
/ 18 сентября 2010

Просто загрузите изображение, используя URL, который генерирует ваш веб-интерфейс, затем настройте код, который генерирует отчеты, чтобы включать изображения, хранящиеся локально, вместо URL-адресов Google Chart.

Любая другая проблема?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...