2010-09-17 3 views
7

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

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

Я как бы не понимаю, как действовать дальше. Идеи?

+0

вы можете отправить их прямо по электронной почте, см. Http://datamakessense.com/kpi-emails-with-google-charts-url-parameters – AdrianBR

ответ

8
<? 
$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); 
?> 
0

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

Другие проблемы?

1

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

$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); 
2

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

Смежные вопросы