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";
}
?>
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);
?>
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);
}
?>
fgets
( PHP 4中, PHP 5中)
fgets -获取线从文件指针
描述
字符串fgets (资源$处理[摘要$长度] )
得到线从文件指针。
参数
把柄
文件指针必须有效,必须指向一个文件成功打开fopen ( )或者fsockopen ( ) (和尚未关闭fclose ( ) ) 。
长度
读时结束长度- 1字节被读取,就换行(其中包括在返回值) ,或EOF分析(以先到者为准) 。如果没有指定长度,将继续读流直至到达行末。
注:在此之前PHP 4.3.0起,漏报,将承担1024年的线的长度。如果大多数按照该文件中都大于8KB ,更有效的资源为您的脚本来指定最大行的长度。
返回值
返回一个字符串的长度最多- 1字节读取文件指出,由处理。
如果出现错误,则返回FALSE 。
修改
版本说明
4.3.0 fgets ( )现在是二进制安全
4.2.0长度参数是可选的
看个实例:
<?php
$handle = @fopen("/tmp/inputfile.txt", "r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
echo $buffer;
}
fclose($handle);
}
?>
fgetcsv
( PHP 4中, PHP 5中)
fgetcsv -获取线从文件指针和解析为的CSV领域
描述
阵列fgetcsv (资源$处理[摘要$长度[ ,字符串$定界符[ ,字符串$附文[ ,字符串$逃生] ] ] ] )
类似fgets ( ) ,但fgetcsv ( )解析行读取的领域以CSV格式并返回一个数组包含字段读取。
参数
把柄
一个有效的文件指针到文件成功打开fopen ( )函数, popen ( )或fsockopen ( ) 。
长度
必须大于最长线(在字符)中可以找到的CSV文件(允许尾随线年底字符) 。它成为可选PHP 5中。省略此参数(或设置为0在PHP 5.0.4及更高版本)的最大行的长度不限,这是略为放缓。
定界符
集的字段分隔符(只有一个字符) 。默认值为一个逗号。
文
集外地文字符(一个字符只) 。默认为双引号。
逃生
设置转义字符(一个字符只) 。默认值为反斜杠( )
返回值
返回一个数组包含索引的字段读取。
注:一个空白行的CSV文件将返回一个数组组成一个单一的空场,并不会被视为一个错误。
注:如果PHP没有正确认识到行结尾时,无论是阅读文件或创建的Macintosh电脑,使auto_detect_line_endings运行时配置选项可能有助于解决这个问题。
fgetcsv ( )返回FALSE的错误,包括档案结尾。
修改
版本说明
5.3.0越狱参数增加
4.3.5 fgetcsv ( )现在是二进制安全
4.3.0附件参数增加
实例
例如# 1读取和打印的全部内容CSV文件
<?php
$row = 1;
$handle = fopen("test.csv", "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $num fields in line $row: <br /></p>n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />n";
}
}
fclose($handle);
?>