2010-09-17 10 views
7

पृष्ठभूमि: हम अपने वेब ऐप द्वारा जेनरेट किए गए कुछ डेटा के आलेख बनाने के लिए Google चार्ट का उपयोग कर रहे हैं। उपयोगकर्ता एक रिपोर्ट बनाता है और फिर रिपोर्ट करता है कि ईमेल। समस्या यह है कि, जब उपयोगकर्ता माइक्रोसॉफ्ट वर्ड में रिपोर्ट खोलता है, तो वह प्रोग्राम गतिशील रूप से जेनरेट की गई छवियों के बारे में कुछ अजीब व्यवहार दिखाता है।सर्वर पर Google चार्ट को कैसे सहेजें

तो, PHP का उपयोग करके, हम सर्वर पर हमारे गतिशील रूप से जेनरेट किए गए चार्ट को सहेजना चाहते हैं, क्योंकि शब्द किसी भी समस्या के बिना सरल लिंक्ड छवियों को संभाल सकता है।

मैं आगे बढ़ने के तरीके पर एक नुकसान में हूं। विचार?

+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

बस अपने वेबफ्रंट द्वारा उत्पन्न यूआरएल का उपयोग करके छवि प्राप्त करें, फिर Google चार्ट URL के बजाय स्थानीय रूप से संग्रहीत छवियों को शामिल करने के लिए रिपोर्ट उत्पन्न करने वाले कोड को समायोजित करें।

कोई अन्य समस्या?

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

सबसे आसान तरीका संभवतः आपको Google से चित्र प्राप्त और पर एक फ़ाइल में लिखने के लिए curl की तरह कुछ का उपयोग करना है अपने सर्वर। यदि आप allow_url_fopen विकल्प चालू करते हैं तो आप fopen और संबंधित फ़ंक्शंस का भी उपयोग कर सकते हैं।

संबंधित मुद्दे