Php, filesize возвращает -1

217
03 июня 2018, 20:10

Этот метод возвращает размер файла robots.txt:

        //return byte
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_NOBODY, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_MAXREDIRS, 3);
    curl_exec($ch);
    $filesize = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD);
    curl_close($ch);
    if ($filesize) return $filesize;

Для всех сайтов, кроме одного мне возвращается нормальный размер типа 84 или 165 байт, например. Но в одном случае -1. Вот ещё один метод:

$file = fopen('robots.txt', 'w');
    // инициализация cURL
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_FILE, $file);
    curl_exec($ch);
    fclose($file);
    curl_close($ch);
    $resultFile = 'robots.txt'; // файл, который получили
    if (!file_exists($resultFile)) {
        // Если файл отсутвует, сообщаем ошибку
        echo "Файл robots.txt отсутствует.";
    } else {
        echo "Файл robots.txt присутствует." . "\n";
        // Начинаем обрабатывать файл, если все прошло успешно
        $textget = file_get_contents($resultFile);
        htmlspecialchars($textget);
        if (preg_match("/Host/", $textget)) {
            echo "Директива Host есть" . "\n";
        } else {
            echo "Директивы Host нет";
        }
        echo 'Размер файла ' . $resultFile . ': ' . $this->remoteFileSize($url . "/robots.txt") . ' байт';
    }
READ ALSO
Doctrine не хватает памяти на join

Doctrine не хватает памяти на join

Пишу DQL запрос в Doctrine:

212
Yii2 Missing required parameters: slug (Bad Request (#400))

Yii2 Missing required parameters: slug (Bad Request (#400))

Пишу блогИспользую zabachok\behaviors\SluggableBehavior

214