file_get_contents() - kontrola wyników

0

Witam. Chciałem prosić o pomoc w kwesti file_get_contents().

Zależy mi na wykryciu sytuacji w których skrypt zwraca:

Warning: file_get_contents(link) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in sciezka on line 14

Chciałbym, aby skrypt reagował w określony sposób jeżeli taka sytuacja się pojawi

Mam jeszcze drugie pytanie. Spotkałem się kiedyś z funkcją typu file_get_contents(), która pobiera nie całe źródło strony, ale tylko zawartość.

<head></head>

Czy ktoś z was mógłby wspomóc nazwą, gdyż nie mogę dotrzeć. :)

0

http://rextester.com/CWZJ29202

<?php //php 5.5.9

    function f($n, $s) {
        echo "n: $n, s: $s\n";
        if (0 === strpos($s, 'file_get_contents(')) {
            echo "1. file_get_contents warning detected\n";
        }
    };

    set_error_handler("f", E_WARNING);

    try{
        $a = file_get_contents("dsiofhfdsifh.grighr");
    } catch(Expection $e) {
        var_dump($e);
    };

    if($a === FALSE) {
        echo "2. file_get_contents failure detected\n";
    }
    var_dump($a);
    
?>

Opcja "try catch" tutaj nie działa.
Pierwsza opcja prostsza to file_get_contents w razie niepowodzenia zwraca FALSE, druga opcja to napisanie customowego handlera dla warninga E_WARNING

0

A może po prostu sprawdzić czy to co chcesz odczytać istnieje?
http://php.net/manual/en/function.file-exists.php
Prosty if i po sprawie. ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1