2012-11-17 15 views
64

संभव डुप्लिकेट:
Writing a function in phpकैसे करता है, तो कर्ल सक्षम किया गया है की जाँच करने के लिए या विकलांग

मैं निम्नलिखित कोड

echo 'Curl: ', function_exists('curl_version') ? 'Enabled' : 'Disabled'; 

इस प्राप्त कर सकते हैं यह सक्षम उपयोग कर रहा हूँ या अक्षम

, लेकिन मैं बनाने के लिए समारोह का कहना है के रूप में समारोह नाम _iscurl

है तो मैं

लगभग मेरे पिछले प्रश्न के रूप में ही

if (_iscurl()){ 
echo "this is enabled"; // will do an action 
}else{ 
echo "this is disabled"; // will do another action 
} 

~ धन्यवाद

मेरी वेबसाइट कोड में किसी भी जहां निम्नलिखित के रूप में यह कॉल कर सकते हैं चाहते हैं check if allow_url_fopen is enabled or not

+7

का प्रयोग क्यों न 'function_exists ('curl_version')' अपने '_iscurl()' समारोह के रूप में? –

+1

एक ['function'] (http://php.net/function) लिखने पर मैन्युअल देखें, अपने एक-लाइनर को वहां पैक करें,' echo' को 'वापसी' के साथ बदलें और टर्नरी आउट करें। – mario

उत्तर

109

बस अपने मौजूदा चेक को function से वापस कर दें।

function _isCurl(){ 
    return function_exists('curl_version'); 
} 
+0

यह काम करता है, और स्वीकार किया जाता है, लेकिन नीचे दिए गए उत्तर मैं कम हैकी पर विचार करता हूं, और कोड पढ़ने वाले किसी और को स्पष्ट करता हूं। अगर मैं इसे पढ़ता हूं, तो मुझे लगता है कि आप विशेष रूप से यह देखने के लिए जांच कर रहे हैं कि क्या आप कर्ल संस्करण पा सकते हैं, और यह देखने के लिए कि कर्ल लोड नहीं हुआ है या नहीं। 'extension_loaded ('curl')' बहुत अधिक प्रत्यक्ष है। – deweydb

4

आप हमेशा एक नया पृष्ठ बना सकते हैं और phpinfo() का उपयोग कर सकते हैं। कर्ल अनुभाग पर नीचे स्क्रॉल करें और देखें कि यह सक्षम है या नहीं।

8

उम्मीद है कि इससे मदद मिलती है।

<?php 
    function _iscurl() { 
     return function_exists('curl_version'); 
    } 
?> 
+11

['function_exists'] (http://php.net/function_exists) स्वयं 'सत्य' या 'झूठा' लौटाता है। आप बस इसके वापसी मूल्य वापस कर सकते हैं। कोड के लिए 4 अतिरिक्त लाइनों की आवश्यकता नहीं है, इसके लिए * एक लाइनर *। साथ ही, आपके फ़ंक्शन का अंत '}' नहीं है! – Prasanth

+1

कोड में ओवरहेड पर सहमत हैं लेकिन फ़ंक्शन का अंत होता है} एक पंक्ति के रूप में यदि अन्य विवरणों को घुंघराले ब्रैकेट की आवश्यकता नहीं है। लेकिन शायद खराब इंडेंटेशन ने आपको यह गलती की है। –

46
<?php 

// Script to test if the CURL extension is installed on this server 

// Define function to test 
function _is_curl_installed() { 
    if (in_array ('curl', get_loaded_extensions())) { 
     return true; 
    } 
    else { 
     return false; 
    } 
} 

// Ouput text to user based on test 
if (_is_curl_installed()) { 
    echo "cURL is <span style=\"color:blue\">installed</span> on this server"; 
} else { 
    echo "cURL is NOT <span style=\"color:red\">installed</span> on this server"; 
} 
?> 

या एक सरल एक -

<? 
phpinfo(); 
?> 

बस कर्ल

स्रोत के लिए खोज - http://www.mattsbits.co.uk/item-164.html

37
var_dump(extension_loaded('curl')); 
+6

कोई भी जो फ़ाइल बनाने के बिना कमांड लाइन पर तुरंत जांचना चाहता है: 'echo "" | php' –

+0

या: 'php -i | grep curl' या 'php -r' var_dump (extension_loaded ("curl")); ''^^ – hakre

+0

बस इसे पहली पंक्ति में phpinfo फ़ाइल में डालें:' ' – sjas

4

इसका हमेशा बेहतर एक सामान्य पुन: प्रयोज्य समारोह के लिए जाने के लिए आपकी परियोजना में डब्ल्यू यह बताता है कि एक्सटेंशन लोड हो गया है या नहीं। आपको यह देखना होगा निम्नलिखित फ़ंक्शन का उपयोग कर सकते हैं -

function isExtensionLoaded($extension_name){ 
    return extension_loaded($extension_name); 
} 

प्रयोग

echo isExtensionLoaded('curl'); 
echo isExtensionLoaded('gd'); 
+0

तो क्यों एक्सटेंशन_लोडेड का उपयोग नहीं कर रहे हैं? ... –

+0

मान लें कि आप एक बड़ी परियोजना में काम कर रहे हैं और 30 से 40 गुना से ऊपर की स्थिति की जांच करना चाहते हैं। फिर आपको 30 से 40 गुना मैन्युअल रूप से लिखने की ज़रूरत है और अचानक आपको आवश्यकता हो गई है कि आपको उस समय से पहले कुछ शर्त की जांच करनी होगी, आपको अपनी परियोजना में सभी 30-40 स्थानों में खोज और स्थिति की आवश्यकता है। इसके बजाय यदि आपके पास पुन: प्रयोज्य कार्य था तो आप उस स्थिति को फ़ंक्शन के अंदर रख सकते हैं और खोज और प्रतिस्थापन या कोड जोड़ने के ऊपरी हिस्से से बच सकते हैं। –

+1

यही वही है जो रिफैक्टरिंग टूल्स के लिए हैं। लेकिन इस बिंदु पर: जिस कोड को आप निश्चित रूप से नहीं जानते हैं उसे पेश करना यह आवश्यक है कि मैं एक दोष मानता हूं। तो आपके नाम का कारण यह है कि मेरी राय में ऐसा न करें। – hakre

1

आप php फ़ाइल में इन कोड डालकर देख सकते हैं।

<?php 
if(in_array ('curl', get_loaded_extensions())) { 
    echo "CURL is available on your web server"; 
} 
else{ 
    echo "CURL is not available on your web server"; 
} 

या

var_dump(extension_loaded('curl')); 
संबंधित मुद्दे

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