2011-01-26 10 views
52

लिए मैं निम्नलिखित कोड का उपयोग कर रहा नहीं करना चाहती:curl_exec मुद्रण परिणाम जब मैं

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, $url); 

curl_setopt($ch, CURLOPT_TIMEOUT, 12); 

$result = curl_exec($ch); 

curl_close ($ch); 

हालांकि यह परिणाम सीधे मुद्रण है। क्या JSON परिणाम को एक चर में रखना संभव है, इसलिए जब मैं चाहूं तो इसे प्रिंट कर सकता हूं?

+1

आपके द्वारा पोस्ट किए गए कोड में मुझे कोई प्रिंट नहीं दिखाई देता है –

+4

यही बात है कि कोड का वह खंड कर्ल के परिणाम प्रिंट कर रहा है जब मैं इसे भी नहीं पूछ रहा हूं। –

उत्तर

118

सेट CURLOPT_RETURNTRANSFER विकल्प:

// ... 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 

$result = curl_exec($ch); 

प्रति the docs:

CURLOPT_RETURNTRANSFER - TRUE सीधे इसे बाहर outputting के बजाय curl_exec() की वापसी मूल्य का एक स्ट्रिंग के रूप में स्थानांतरण वापस जाने के लिए।

+2

आपका लिंक किया गया दस्तावेज़ कहता है "PHP 5.1.3 से, इस विकल्प का कोई प्रभाव नहीं पड़ता है: CURLOPT_RETURNTRANSFER का उपयोग होने पर कच्चे आउटपुट को हमेशा वापस कर दिया जाएगा"। मुझे पूरा यकीन नहीं है कि मैं समझता हूं कि, बहुत कम मस्तिष्क का एक माग होने के नाते, और मुझे अभी भी वही समस्या है जैसे ओ.पी – Mawg

+2

ऐसा लगता है कि PHP दस्तावेज़ में यह नोट CURLOPT_BINARYTRANSFER विकल्प से संबंधित है, CURLOPT_RETURNTRANSFER विकल्प नहीं। – Kel

+0

हम्म, PHP 7.1.1 का उपयोग कर मेरे लिए ठीक काम किया। – carefulnow1

-5

php 5.1 curl हमेशा परिणाम प्रदर्शित करेगा जो आप दस्तावेज़ में देख सकते हैं। इससे बचने के लिए बस

echo "< span style='display:none'>"; 

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, $url); 

curl_setopt($ch, CURLOPT_TIMEOUT, 12); 

$result = curl_exec($ch); 

curl_close ($ch); 

echo"< /span>"; 
+3

'curl' का व्यवहार कॉन्फ़िगर करने योग्य है, लेकिन यदि आप वास्तव में कुछ ऐसा करते हैं जिसे प्रिंट करने के बजाय मान वापस करने के लिए कॉन्फ़िगर नहीं किया जा सकता है, तो आपको इसे कॉल करने से पहले 'ob_start()' वास्तव में उपयोग करना चाहिए, और 'ob_get_clean () 'के बाद। 'Ob_get_clean()' का वापसी मूल्य वह सामग्री होगी जो अन्यथा मुद्रित किया गया होगा। उनके बारे में जानने के लिए इन कार्यों के दस्तावेज़ीकरण पर एक नज़र डालें। आपका जवाब वास्तव में सभ्य नहीं है, इसलिए मैंने सोचा कि आप इनसे सीख सकते हैं। आपको अपमानित करने का मतलब नहीं था। सौभाग्य! –

+2

वास्तव में इस उत्तर के साथ समस्या (पिछली टिप्पणीकर्ता के अंक के अलावा) यह है कि यह प्रश्न का उत्तर नहीं देता है। इसका उल्लेख नहीं किया गया है कि यह एक वेब एप्लिकेशन है या नहीं, इसलिए आप यह सुनिश्चित नहीं कर सकते कि आउटपुट कैसे प्रदर्शित होता है (यह कंसोल एप्लिकेशन भी हो सकता है)। –

1

क्या आपने कोशिश की है?

curl_setopt($ch, CURLOPT_VERBOSE, 0); 

यह मेरे लिए काम करता है!

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