首页 > 编程技术 > php

php file_get_contents 函数

发布时间:2016-11-25 16:51

php file_get_contents 函数

file_get_contents
( PHP 4中“ = 4.3.0 , PHP 5中)

file_get_contents -读取整个文件转换成字符串

描述
字符串file_get_contents (字符串$文件[摘要$国旗= 0 [ ,资源$背景[摘要$抵消= -1 [摘要$ maxlen = -1 ] ] ] ] )
这个功能类似文件( ) ,但file_get_contents ( )返回的字符串中的文件,开始在指定的抵消最多maxlen字节。如果失败, file_get_contents ( )将返回FALSE 。

file_get_contents ( )是首选的方式读取文件内容为一个字符串。它将使用内存映射技术的支持下,如果您的操作系统,以提高性能。

注:如果您打开的URI的特殊字符,如空格,你需要的URI的编码进行urlencode ( ) 。


参数

文件名
文件名改为。

旗帜
警告
所有之前的版本的PHP 6 ,此参数被称为use_include_path是布尔。国旗参数只适用于自PHP 6 。如果您使用的是旧版本,并希望搜索的文件名中包含路径,这个参数必须是真实的。自PHP 6 ,您必须使用FILE_USE_INCLUDE_PATH国旗代替。

国旗的价值可任意组合下列旗帜(与一些限制) ,加入的二进位或( | )操作符。


可悬挂国旗描述
FILE_USE_INCLUDE_PATH搜索文件名中包含目录。见include_path中获取更多信息。
FILE_TEXT自PHP 6 ,默认编码的读取数据是UTF - 8的。您可以指定一个不同的编码,建立一个自定义的范围内,或通过改变默认使用stream_default_encoding ( ) 。此标志不能用于FILE_BINARY 。
FILE_BINARY有了这个标志,该文件是只读二进制模式。这是默认设置,并不能用于FILE_TEXT 。


背景
资源的有效范围内建立stream_context_create ( ) 。如果你不需要使用自定义的情况下,可以跳过此参数为null 。

抵消
抵销在读启动。

maxlen
最大长度的数据读取。


返回值
该函数返回读取数据或FALSE的失败。

实例

例如# 1 Get和输出源的网页,网站

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

Example #2 Searching within the include_path

<?php
// <= PHP 5
$file = file_get_contents('./people.txt', true);
// > PHP 5
$file = file_get_contents('./people.txt', FILE_USE_INCLUDE_PATH);
?>

php file 函数

file
( PHP 4中, PHP 5中)

file-读取整个file到一个数组

描述
一系列file(字符串$file[摘要$国旗= 0 [ ,资源$背景] ] )
读取整个file到一个数组。

注:您可以使用file_get_contents ( )返回file内容作为一个字符串。


参数

file名
file路径。

提示
网址可以用来作为file名与此功能,如果打开包装已启用。见fopen ( )函数的更多细节关于如何指定file名和列表支持的协议/封装协议的列表,支持的URL协议。

旗帜
可选参数可以是一个标志,或以上,以下常数:

FILE_USE_INCLUDE_PATH
搜索该file中的include_path中。
FILE_IGNORE_NEW_LINES
不添加新行结束时,每个数组元素
FILE_SKIP_EMPTY_LINES
跳过空行
FILE_TEXT
返回的内容是在UTF - 8编码。您可以指定一个不同的编码,建立一个自定义的范围内。此标志不能用于FILE_BINARY 。此标志只适用于自PHP 6 。
FILE_BINARY
内容改为二进制数据。这是默认设置,并不能用于FILE_TEXT 。此标志只适用于自PHP 6 。

背景
背景资源创建的stream_context_create ( )函数。


注:情况下,支持加用PHP 5.0.0 。为说明情况,请参阅流功能。



返回值
返回file中的数组。每个元素的数组对应行中的file,仍与换行符重视。一旦失败,file( )返回FALSE 。

注意:每行中所产生的阵列将包括行结尾,除非FILE_IGNORE_NEW_LINES使用,所以你仍然需要使用rtrim ( )如果你不想结束本线。


注:如果PHP没有正确认识到行结尾时,无论是阅读file或创建的Macintosh电脑,使auto_detect_line_endings运行时配置选项可能有助于解决这个问题。

修改

版本说明
6.0.0新增了支援FILE_TEXT和FILE_BINARY旗帜。
5.0.0背景参数增加
5.0.0到PHP 5.0.0之前的旗帜参数只覆盖include_path中,并启用了1
4.3.0file( )成为二进制安全


实例

例如1号file( )的例子

<?php
// Get a file into an array.  In this example we'll go through HTTP to get
// the HTML source of a URL.
$lines = file('http://www.example.com/');

// Loop through our array, show HTML source as HTML source; and line numbers too.
foreach ($lines as $line_num => $line) {
    echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />n";
}

// Another example, let's get a web page into a string.  See also file_get_contents().
$html = implode('', file('http://www.example.com/'));

// Using the optional flags parameter since PHP 5
$trimmed = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
?>

php file_put_contents 函数

file_put_contents
( PHP 5中)

file_put_contents -写一个字符串到一个文件

描述
国际file_put_contents (字符串$文件名,混合$数据[摘要$国旗= 0 [ ,资源$背景] ] )
这一功能是相同的要求fopen ( )函数, fwrite ( )和fclose ( )先后将数据写入一个文件。

如果文件不存在,该文件的创建。否则,现有的文件被覆盖,除非FILE_APPEND旗帜设置。

参数

文件名
文件路径在哪里写的数据。

数据
这些数据给我们写信。可以是一个字符串,数组或流资源(上面解释) 。

如果数据流的资源,剩下的缓冲区的流将被复制到指定的文件。这是类似使用stream_copy_to_stream ( ) 。

您还可以指定数据参数作为一个单一的层面阵列。这相当于file_put_contents ( $文件名,爆( '' , $阵列) ) 。

旗帜
国旗的价值可任意组合下列旗帜(与一些限制) ,加入的二进位或( | )操作符。


可悬挂国旗描述
FILE_USE_INCLUDE_PATH搜索文件名中包含目录。见include_path中获取更多信息。
FILE_APPEND如果档案filename已经存在,附加数据的文件,而不是覆盖它。
LOCK_EX获得独占锁定的文件,同时着手写作。
FILE_TEXT数据写入的文字模式。如果已启用的Unicode语义,默认字符编码是UTF - 8 。您可以指定一个不同的编码,建立一个自定义的范围内或使用stream_default_encoding ( )来更改默认的。此标志不能用于FILE_BINARY 。此标志只适用于自PHP 6 。
FILE_BINARY数据将被写入二进制模式。这是默认设置,并不能用于FILE_TEXT 。此标志只适用于自PHP 6 。


背景
资源的有效范围内建立stream_context_create ( ) 。


返回值
该函数返回的字节数是写入文件,或FALSE的失败。

实例

例如# 1使用简单的例子

<?php
$file = 'people.txt';
// Open the file to get existing content
$current = file_get_contents($file);
// Append a new person to the file
$current .= "John Smithn";
// Write the contents back to the file
file_put_contents($file, $current);
?>


<?php
$file = 'people.txt';
// The new person to add to the file
$person = "John Smithn";
// Write the contents to the file,
// using the FILE_APPEND flag to append the content to the end of the file
// and the LOCK_EX flag to prevent anyone else writing to the file at the same time
file_put_contents($file, $person, FILE_APPEND | LOCK_EX);
?>

file_exists -检查文件或目录是否存在

file_exists
( PHP 4中, PHP 5中)



描述
布尔file_exists (字符串$文件名)
检查是否存在文件或目录。

参数

文件名
路径的文件或目录。

在Windows中,使用/ /计算机名/共享/文件名或 计算机名共享文件名,以检查网络共享上的文件。


返回值
返回TRUE ,如果指定的文件或目录的文件名存在; FALSE的除外。

注:此功能将返回FALSE的符号链接指向不存在的文件。


警告
此功能返回FALSE的文件,由于无法进入安全模式的限制。但这些文件还可以包含如果他们位于safe_mode_include_dir 。

注:检查是使用真正的UID / GID的不是有效的。


实例

例如# 1测试文件是否存在

<?php
$filename = '/path/to/foo.txt';

if (file_exists($filename)) {
    echo "The file $filename exists";
} else {
    echo "The file $filename does not exist";
}
?>

fgetss -获取线从文件指针和带标记

fgetss
( PHP 4中, PHP 5中)



描述
字符串fgetss (资源$处理[摘要$长度[ ,字符串$ allowable_tags ] ] )
相同fgets ( ) ,但fgetss ( )试图带任何HTML和PHP标签读取的文本。

参数

把柄
文件指针必须有效,必须指向一个文件成功打开fopen ( )或者fsockopen ( ) (和尚未关闭fclose ( ) ) 。

长度
长度的数据进行检索。

allowable_tags
您可以使用可选的第三个参数来指定标签,不应该被剥夺。


返回值
返回一个字符串的长度最多- 1字节读取文件指出,通过处理,所有的HTML和PHP代码条纹。

如果出现错误,则返回FALSE 。

修改

版本说明
5.0.0长度参数是可选的
4.0.0在allowable_tags参数补充说,

<?php
$str = <<<EOD
<html><body>
 <p>Welcome! Today is the <?php echo(date('jS')); ?> of <?= date('F'); ?>.</p>
</body></html>
Text outside of the HTML block.
EOD;
file_put_contents('sample.php', $str);

$handle = @fopen("sample.php", "r");
if ($handle) {
    while (!feof($handle)) {
        $buffer = fgetss($handle, 4096);
        echo $buffer;
    }
    fclose($handle);
}
?>

标签:[!--infotagslink--]

您可能感兴趣的文章: