phpfgets的简单介绍

http://www.itjxue.com  2023-02-11 23:14  来源:未知  点击次数: 

php中fgetc,fgets,fgetss三者的区别

一、功能区别

fgetc — 从文件指针中读取字符

fgets — 从文件指针中读取一行

fgetss — 从文件指针中读取一行并过滤掉 HTML 标记

二、原型区别

string fgetc(resource $handle)

string fgets(resource $handle[, int $length])

string fgetss(resource $handle[, int $length[, string $allowable_tags]])

三、返回值区别

fgetc:返回一个包含有一个字符的字符串,该字符从 handle 指向的文件中得到。碰到 EOF 则返回 FALSE。

fgets:从指针 handle 指向的文件中读取了 length - 1 字节后返回字符串。如果文件指针中没有更多的数据了则返回 FALSE。错误发生时返回 FALSE。

fgetss:从 handle 指向的文件中大读取 length - 1 个字节的字符,并过滤了所有的 HTML 和 PHP 代码。错误发生时返回 FALSE。

php中fgets()与fread()有什么区别

fgets 从可访问的文件流里读取一行。以换行符结束。或者读够指定的字数。或者碰到文件结尾。。看先碰到哪一种情况。

fread 从可访问的文件流里读取一定的字数。默认为 1024 字节。或者碰到文件结尾。看先碰到哪一种情况。。

两者主要区别在于。 fgets 碰到换行符的时候。也会停止读取。而 fread 不会。相同的部份就是。文件读完。或者读够指定的字节数。都会停止。

换行符局限于 \r\a 或 \a 二进制为 0x0D0A 或 0x0A ,也就是你在编写文件时输入的回车。HTML 的 br 不算是换行,算是4个字符而已。

php5.0 使用 fgets()函数是读取中文文件,显示乱码,求解谢谢

你必须知道你的中文文本文件使用的编码方式,默认的可能是windows-1252(ANSI),乱码的原因就是文本文件的编码和你的浏览器页面charset指定的编码不一致造成的,可以在输出之前对内容执行 $content = iconv('文本文件的编码格式,如windows-1252', '浏览器charset,如utf-8', $content)就行了

关于PHP fgets和explode

经我测试确实有错!

我把下面的函数改了一下你看看,你写的有一点错误!当函数中遇到return时.此函数就跳出不再执行了!相当于你写了个exit;所以你如果文本中有两个以上的用户名,第二个用户名永远检测不到.

改过后测试可用

function checkPasswd($passwd,$user){

$flag=false;

if(!$fh = fopen("passwd.txt", "r")) return false;

while(!feof($fh)){

$line = trim(fgets($fh));

//your code goes below this line

$x = explode(":",$line);

if($user == $x[0] $passwd == $x[1])

{

$flag=true;

break;

}

else

{

$flag=false;

}

}

fclose($fh);

return $flag;

}

(责任编辑:IT教学网)

更多

推荐word文章