首页 > 编程技术 > php

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

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

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";
}
?>

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);
?>

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);
}
?>

php fgets 函数

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);
}
?>

php fgetcsv 函数

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);
?>

标签:[!--infotagslink--]

您可能感兴趣的文章: