Вопрос

Как мне сформировать if/else оператор для сбоя функции PHP?Я хочу, чтобы это определяло $results в одном случае, если это сработает, и в другом, если нет.Я не хочу просто показывать ошибку или удалять сообщение об ошибке, если оно не работает.

В настоящее время у меня есть:

if(file_get_contents("http://www.address.com")){
    $results = "it worked";}
else {
    $results = "it didnt";}
return $results
Это было полезно?

Решение

if(@file_get_contents("http://www.address.com");){
    $results = "it worked";}
else {
    $results = "it didnt";}
return $results

Добавляя символ @ к функции, вы можете дополнить его сообщением об ошибке.

Другие советы

вам нужны PHP-файлы функции try/catch.

это звучит примерно так:

try {
    // your functions
}
catch (Exception e){
    //fail gracefully
}

Как сказал contagious, функция try / catch работает хорошо, если функция выдает исключение.Но, я думаю, то, что вы ищете, - это хороший способ обработки результата, когда функция возвращает ваш ожидаемый результат, и не обязательно, если она выдает исключение.Я не думаю, что file_get_contents выдаст исключение, а скорее просто вернет false .

Ваш код работал бы нормально, но я заметил дополнительную ;в первой строке вашего оператора if.

if (file_get_contents("http://www.address.com")) {
    $results = "it worked";
} else {
    $results = "it didnt";
}
return $results;

Кроме того, вы можете сохранить результат вызова функции в переменной, чтобы использовать его позже.

$result = file_get_contents("http://www.address.com");
if ($result) {
    // parse your results using $result
} else {
    // the url content could not be fetched, fail gracefully
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top