PHP.mk документација

file_get_contents

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.file-get-contents.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.file-get-contents.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
file_get_contents

Референца за `function.file-get-contents.php` со подобрена типографија и навигација.

function.file-get-contents.php

file_get_contents

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

file_get_contentsЧита цела датотека во стринг

= NULL

file_get_contents(
         string $filename,
         bool $use_include_path = false,
         ?resource $context = null,
         int $offset = 0,
         ?int $length = null
): string|false

Оваа функција е слична на file(), освен што file_get_contents() ја враќа датотеката во string, почнувајќи од наведениот offset до length бајти. При неуспех, file_get_contents() ќе врати false.

file_get_contents() е претпочитаниот начин за читање на содржината на датотека во стринг. Ќе користи техники за мапирање на меморијата ако се поддржани од вашиот оперативен систем за подобрување на перформансите.

Забелешка:

Ако отворате URI со специјални знаци, како што се празни места, треба да го кодирате URI со urlencode().

Параметри

filename

Име на датотеката за читање.

use_include_path

Забелешка:

На FILE_USE_INCLUDE_PATH константа може да се користи за активирање вклучи патека пребарување. Ова не е можно ако строго типизирање е овозможено, бидејќи FILE_USE_INCLUDE_PATH е int. Користете true instead.

context

Валиден ресурс за контекст креиран со stream_context_create(). Ако не треба да користите прилагоден контекст, можете да го прескокнете овој параметар со null.

offset

Поместувањето каде започнува читањето на оригиналниот стрим. Негативните поместувања се бројат од крајот на стримот.

Поместување (offset) не е поддржано со далечински датотеки. Обидот за поместување на нелокални датотеки може да работи со мали поместувања, но ова е непредвидливо бидејќи работи на баферираниот стрим.

length

Максимална должина на прочитаните податоци. Стандардно е да се чита додека не се достигне крајот на датотеката. Имајте предвид дека овој параметар се применува на стримот обработен од филтрите.

Вратени вредности

The function returns the read data or false при неуспех.

Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

Функцијата враќа прочитани податоци или falseОваа функција може да врати Буловска вредност false, но исто така може да врати и вредност што не е Буловска, а која се проценува како Булови . Ве молиме прочитајте го делот за за повеќе информации. Користете го операторот ===

Errors/Exceptions

Еден E_WARNING за тестирање на вратената вредност од оваа функција. filename се генерира грешка на ниво length не може да се најде, offset е помала од нула, или ако барањето до наведениот

Кога file_get_contents() во потокот не успее. E_WARNING се повикува на директориум,

Дневник на промени

Верзија = NULL
8.0.0 length сега е null.
7.1.0 се генерира грешка на ниво на Windows, а од PHP 7.4 и на други оперативни системи. offsetПоддршката за негативни

Примери

е додадена.

<?php
$homepage
= file_get_contents('http://www.example.com/');
echo
$homepage;
?>

Пример #1 Земете и прикажете го изворот на почетната страница на веб-локација

<?php
// If strict types are enabled i.e. declare(strict_types=1);
$file = file_get_contents('./people.txt', true);
// Otherwise
$file = file_get_contents('./people.txt', FILE_USE_INCLUDE_PATH);
?>

Пример #2 Пребарување во include_path

<?php
// Read 14 characters starting from the 21st character
$section = file_get_contents('./people.txt', FALSE, NULL, 20, 14);
var_dump($section);
?>

Горниот пример ќе прикаже нешто слично на:

string(14) "lle Bjori Ro"

Пример #3 Читање на дел од датотека

<?php
// Create a stream
$opts = [
'http' => [
'method' => "GET",
'header' => "Accept-language: en\r\n" .
"Cookie: foo=bar",
]
];

$context = stream_context_create($opts);

// Open the file using the HTTP headers set above
$file = file_get_contents('http://www.example.com/', false, $context);
?>

Белешки

Забелешка: Пример #4 Користење на контексти на потоци

Совети

URL може да се користи како име на датотека со оваа функција ако fopen обвивки се овозможени. Погледнете fopen() за повеќе детали за тоа како да го специфицирате името на датотеката. Погледнете го Поддржани протоколи и обвивки за линкови до информации за тоа какви способности имаат разните обвивки, белешки за нивната употреба и информации за сите предодредени променливи што може да ги обезбедат.

Ги ескејпува специјалните знаци во стринг за употреба во SQL изјава

при неуспех close_notify При користење на SSL, Microsoft IIS ќе го прекрши протоколот со затворање на врската без испраќање на error_reporting индикатор. PHP ќе го пријави ова како "SSL: Fatal Protocol Error" кога ќе стигнете до крајот на податоците. За да го заобиколите ова, вредноста на https:// треба да се намали на ниво што не вклучува предупредувања. PHP може да открие буги IIS сервер софтвер кога ќе го отворите stream користејќи го fsockopen() wrapper и ќе го потисне предупредувањето. При користење на ssl:// за креирање на

Види Исто така

Белешки од корисници 3 белешки

- Ги чита остатокот од стримот во стринг
пред 13 години
file_get_contents can do a POST, create a context for that first:

<?php

$opts = array('http' =>
  array(
    'method'  => 'POST',
    'header'  => "Content-Type: text/xml\r\n".
      "Authorization: Basic ".base64_encode("$https_user:$https_password")."\r\n",
    'content' => $body,
    'timeout' => 60
  )
);
                        
$context  = stream_context_create($opts);
$url = 'https://'.$https_server;
$result = file_get_contents($url, false, $context, -1, 40000);

?>
KC
пред 2 години
If doing a negative offset to grab the end of a file and the file is shorter than the offset, then file_get_contents( ) will return false.

If you want it to just return what is available when the file is shorter than the negative offset, you could try again.

For example...

$contents = file_get_contents( $log_file, false, null, -4096 ); // Get last 4KB

if ( false === $contents ) {
    // Maybe error, or maybe file less than 4KB in size.

    $contents = file_get_contents( $log_file, false, null );

    if ( false === $contents ) {
        // Handle real error.
    }
}
Барт Фридерикс
пред 2 години
To prevent mixed content most browsers/functions will use the protocol already used if you specify only // instead of http:// or https://. This is not the case with file_get_contents. You must specify the protocol. 

This does not work:
<?php
$jsonData = file_get_contents('//example.com/file.json');
print $jsonData;
?>

Specifying only 'example.com/file.json' without the double slash does not work either.

When running on Apache 2.4 , using $_SERVER['REQUEST_SCHEME'] is a better way to be protocol agnostic.
<?php
$jsonData = file_get_contents($_SERVER['REQUEST_SCHEME'].'://example.com/file.json');
print $jsonData;
?>

If using another web server, you may have to get the protocol another way or hard code it.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.