php feof函数

 更新时间:2016年11月25日 16:50  点击:1769
如果文件指针到了 EOF 或者出错时则返回 TRUE,否则返回一个错误(包括 socket 超时),其它情况则返回 FALSE。

语法
feof(file)参数 描述
file 必需。规定要检查的打开文件。

说明
file 参数是一个文件指针。这个文件指针必须有效,并且必须指向一个由 fopen() 或 fsockopen() 成功打开(但还没有被 fclose() 关闭)的文件。

 

 代码如下 复制代码
<?php教程
// if file can not be read or doesn't exist fopen function returns false
$file = @fopen("no_such_file", "r");
// false from fopen will issue warning and result in infinite loop here
while (!feof($file)) {
}
fclose($file);
?>


<?php
$fh = fopen("/home/www.111cn.net/data/users.txt", "rt");
while (!feof($fh)) echo fgets($fh);
fclose($fh);
?>

这是一款利用glob函数把指定目录所有的文件与文件夹保存到数据,然后我们再用foreach再判断保存到相关的数据里面哦。
 代码如下 复制代码
$dirs    = array();
foreach(glob("./*") as $d)
{
    $tmp = explode('.',$d);
 $k = end($tmp);
    if(is_file($d) && $k =='php')
    {
        $dirs[]    = $d;
    }
}
print_r($dirs);

//显示目录所有目录

 代码如下 复制代码
$v =array();
foreach(glob("./*") as $vv)
{
   // $tmp = explode('.',$d);
 //$k = end($tmp);
    if(is_dir($vv)) //目录与文件区别是就用is_dir或is_file来判断
    {
        $v[]  = $vv;
    }
}
print_r($v);

/*
结果

array
(
    [0] => ./1.php
    [1] => ./10.php
    [2] => ./11.php
    [3] => ./3.php
    [4] => ./4.php
    [5] => ./5.php
    [6] => ./7.php
    [7] => ./8.php
    [8] => ./9.php
)

array
(
    [0] => ./www.111cn.net
)
*/

fread语法:
string fread ( resource $handle , int $length )

fread()读取到的字节长度由处理引用的文件指针。读尽快停止对符合下列条件之一:

已经读取的字节长度
!eof(文件结束)达到
一包可用网络(流)
已阅读8192字节(打开后用户空间流)

*/

//fread读取文件实例一

 代码如下 复制代码
$filename = "/www.111cn.net/local/something.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);

//php5以上版本读取远程服务器内容

 代码如下 复制代码
$handle = fopen("http://www.111cn.net/", "rb");
$contents = stream_get_contents($handle);
fclose($handle);


//

 代码如下 复制代码
$handle = fopen("http://down.111cn.net/", "rb");
$contents = '';
while (!feof($handle)) {
  $contents .= fread($handle, 8192);
}
fclose($handle);

/*
有时流的目的不是用eof标记,也不是固定的标志,这就是为什么这个循环永远。这引起了我许多烦恼...
我解决它使用stream_get_meta_data功能,如下面显示一个break语句:

*/

 代码如下 复制代码
$fp = fsockopen("mb.111cn.net", 80);
if (!$fp) {
    echo "$errstr ($errno)<br /> ";
} else {
    fwrite($fp, "data sent by socket");
    $content = "";
    while (!feof($fp)) { 
        $content .= fread($fp, 1024);
        $stream_meta_data = stream_get_meta_data($fp); //added line
         if($stream_meta_data['unread_bytes'] <= 0) break; //added line
    }
    fclose($fp);
    echo $content;
}
本实例是要利用php array_diff函数来,删除数组中某个值元素哦,方法很简单用foreach再加array_diff函数就
 代码如下 复制代码
$a1 = array(array('blue','red','www.111cn.net'),array('black','pink','green'));
$a2 = array('aaa','pink','bbbb');
$str = 'red';
$a2[] = $str;
foreach($a1 as $key => $value)
{       
$a1[$key] = array_diff($value,$a2);
}
print_r($a1);


//更简单的做法

 代码如下 复制代码
foreach (array_diff($a1, $a2) as $_key_1) {
        $arr_new[$_key_1] = $arr_1[$_key_1];
}


/*
结果如下:

array
(
    [0] => array
        (
            [0] => blue
            [2] => yellow
        )


    [1] => array
        (
            [0] => black
            [2] => green
        )


)

array_diff语法

array array_diff ( array $array1 , array $array2 [, array $ ... ] )
对比较array1和array2返回差异。
*/
$array1 = array("a" => "green", "111cn.net", "blue", "red");
$array2 = array("b" => "green", "yellow", "red");
$result = array_diff($array1, $array2);

print_r($result);

/*
array
(
    [1] => blue
)

[!--infotagslink--]

相关文章

  • php正确禁用eval函数与误区介绍

    eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • Python astype(np.float)函数使用方法解析

    这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08
  • Python中的imread()函数用法说明

    这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
  • C# 中如何取绝对值函数

    本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
  • C#学习笔记- 随机函数Random()的用法详解

    下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • 源码分析系列之json_encode()如何转化一个对象

    这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
  • php中去除文字内容中所有html代码

    PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
  • c# 数据类型占用的字节数介绍

    本篇文章主要是对c#中数据类型占用的字节数进行了详细的介绍。需要的朋友可以过来参考下,希望对大家有所帮助...2020-06-25
  • 金额阿拉伯数字转换为中文的自定义函数

    CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
  • Nest.js参数校验和自定义返回数据格式详解

    这篇文章主要给大家介绍了关于Nest.js参数校验和自定义返回数据格式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-28
  • C++中 Sort函数详细解析

    这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
  • Android开发中findViewById()函数用法与简化

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • Vue 组件复用多次自定义参数操作

    这篇文章主要介绍了Vue 组件复用多次自定义参数操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-27
  • PHP用strstr()函数阻止垃圾评论(通过判断a标记)

    strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
  • js实现文本框输入文字个数限制代码

    这篇文章主要介绍了js实现文本框输入文字个数限制代码,文本框输入的文字个数并不是无限制的,一般都会限定一个输入最高上限,如何限制,请看本文...2015-12-27
  • index.php怎么打开?如何打开index.php?

    index.php怎么打开?初学者可能不知道如何打开index.php,不会的同学可以参考一下本篇教程 打开编辑:右键->打开方式->经文本方式打开打开运行:首先你要有个支持运行PH...2017-07-06
  • C#中decimal保留2位有效小数的实现方法

    这篇文章主要介绍了C#中decimal保留2位有效小数的实现方法,针对decimal变量保留2位有效小数有多种方法,可以使用Math.Round方法以及ToString先转换为字符串等操作来实现。具体实现方法感兴趣的朋友跟随小编一起看看吧...2020-06-25
  • PHP函数分享之curl方式取得数据、模拟登陆、POST数据

    废话不多说直接上代码复制代码 代码如下:/********************** curl 系列 ***********************///直接通过curl方式取得数据(包含POST、HEADER等)/* * $url: 如果非数组,则为http;如是数组,则为https * $header:...2014-06-07
  • php中的foreach函数的2种用法

    Foreach 函数(PHP4/PHP5)foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。...2013-09-28