Jak sprawdzić, czy funkcja curl jest włączona czy wyłączona

83

Możliwy duplikat:
pisanie funkcji w php

Używam następującego kodu

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

może to włączyć lub wyłączyć

ale chciałbym, aby funkcja powiedziała, że ​​nazwa funkcji to _iscurl

wtedy mogę to nazwać następującymi po każdym miejscu w kodzie mojej witryny

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

prawie tak samo jak moje poprzednie pytanie, sprawdź, czy allow_url_fopen jest włączone, czy nie

Reham Fahmy
źródło
7
Dlaczego nie użyć function_exists('curl_version') jako swojej _iscurl()funkcji?
Anirudh Ramanathan
1
Zobacz podręcznik na pisanie function, spakować do jednego-liner tam wymienić echoz returni wyciąć potrójny out.
mario

Odpowiedzi:

134

Po prostu zwróć istniejący czek z funkcji .

function _isCurl(){
    return function_exists('curl_version');
}
John V.
źródło
4
To działa i jest akceptowane, ale poniższe odpowiedzi są mniej hakerskie i bardziej zrozumiałe dla kogoś innego czytającego kod. Jeśli to przeczytam, może pomyśleć, że sprawdzasz konkretnie, czy możesz znaleźć wersję curl, a nie, czy curl jest załadowany. extension_loaded('curl')jest znacznie bardziej bezpośredni.
deweydb
62
<?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";
}
?>

lub prosty -

<?
phpinfo();
?>

Po prostu wyszukaj curl

źródło - http://www.mattsbits.co.uk/item-164.html

Amit Pandey
źródło
47
var_dump(extension_loaded('curl'));
Alex S.
źródło
12
Dla każdego, kto chce szybko sprawdzić wiersz poleceń bez tworzenia pliku:echo "<?php var_dump(extension_loaded('curl')); ?>" | php
The Unknown Dev
1
lub: php -i | grep curllub php -r 'var_dump(extension_loaded("curl"));'^^
hakre
po prostu umieść to w pliku phpinfo, w pierwszej linii: `` <? php var_dump (extension_loaded ('curl'));?> `
sjas
8

możesz sprawdzić, umieszczając ten kod w pliku 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";
}

LUB

var_dump(extension_loaded('curl'));
manish1706
źródło
8

Mam nadzieję że to pomoże.

<?php
    function _iscurl() {
        return function_exists('curl_version');
    }
?>
bikash shrestha
źródło
11
function_existssama wraca truelub false. Możesz po prostu zwrócić jego wartość zwracaną. Nie ma potrzeby stosowania 4 dodatkowych linii kodu dla tej jednej linijki . Twoja funkcja nie ma końca }!
Prasanth
1
zgadzają się na narzut w kodzie, ale funkcja ma koniec} jako jedną linię, jeśli w przeciwnym razie instrukcje nie wymagają nawiasów klamrowych. Ale być może złe wcięcie sprawiło, że popełniłeś ten błąd.
Sam Vloeberghs
5

Zawsze możesz utworzyć nową stronę i użyć phpinfo(). Przewiń w dół do sekcji zwijania i zobacz, czy jest włączona.

Samuel Cook
źródło
5

Zawsze lepiej jest wybrać w projekcie ogólną funkcję wielokrotnego użytku, która zwraca, czy rozszerzenie zostało załadowane. Możesz użyć następującej funkcji, aby sprawdzić -

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

Stosowanie

echo isExtensionLoaded('curl');
echo isExtensionLoaded('gd');
Channaveer Hakari
źródło
1
Załóżmy, że pracujesz w dużym projekcie i chcesz sprawdzić powyższy warunek więcej niż 30 do 40 razy. Następnie musisz pisać ręcznie 30 do 40 razy i nagle pojawił się wymóg, że musisz sprawdzić pod jakimś warunkiem, zanim w tym czasie musisz wyszukać i umieścić stan we wszystkich 30 - 40 miejscach w projekcie. Zamiast tego, jeśli masz funkcję wielokrotnego użytku, możesz umieścić ten warunek wewnątrz funkcji i uniknąć narzutu wyszukiwania i zastępowania lub dodawania kodu.
Channaveer Hakari
2
Do tego służą narzędzia do refaktoryzacji. Ale na temat: wprowadzając kod, którego nie wiesz na pewno, czy jest konieczny, rozważyłbym błąd. Więc powód, dla którego wymieniasz, jest moim zdaniem powodem, aby tego nie robić.
hakre
Świetny pomysł. Zacząłem pakować wszystkie natywne funkcje php. Zebrałem je w bibliotece. Ktokolwiek zainteresowany?
rosell.dk
@ rosell.dk Jestem zainteresowany, proszę, zapętl mnie. Dzięki
Channaveer Hakari
@ rosell.dk LOL!
parvus