php fread函数与fread函数用法

 更新时间:2016年11月25日 16:50  点击:2307

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;
}
这是一款利用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
)
*/

本实例是要利用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
)

如果我们要判断一个类是不是可以用,可以先使用class_exists函数来判断一下,下面来看几个例子。

//bool class_exists ( string $class_name [, bool $autoload = true ] )
//此功能是否给定的类被定义检查。this function checks whether or not the given class has been defined.

//返回true,如果class_name是一个定义的类,否则返回false。
//实例

 代码如下 复制代码
if (class_exists('myclass')) {
    $myclass = new myclass();
}

 

 代码如下 复制代码

function __autoload($class)
{
    include($class . '.php');

    // check to see whether the include declared the class
    if (!class_exists($class, false)) {
        trigger_error("unable to load class: $class", e_user_warning);
    }
}

if (class_exists('myclass')) {
    $myclass = new myclass();
}

如果你要判断一些函数是不是可以用我们可以使用function_exists函数来检测哦,下面我们来看几个例子,希望对你会有帮助。

语法
bool function_exists ( string $function_name )
检查的定义的函数的列表,同时内置(内部)和用户定义的,为function_name。
返回值

返回true,如果function_name存在,是一个函数,否则返回false。
*/

if (function_exists('imap_open')) {
    echo "imap functions are available.www.111cn.net<br /> ";
} else {
    echo "imap functions are not available.<br /> ";
}


//function_exists returns false on null and empty string:

if (function_exists('')) {
                echo "empty string function exists ";
        }

        if (function_exists(null)) {
                echo "null function exists ";
        }
  
//如果您使用suhosin.executor.func.blacklist而不是在你的php.ini disabled_functions,function_exists将返回true为功能。我用这个有与suhosin.executor.func.blacklist和disabled_functions相同beahviour:

function suhosin_function_exists($func) {
    if (extension_loaded('suhosin')) {
        $suhosin = @ini_get("suhosin.executor.func.blacklist");
        if (empty($suhosin) == false) {
            $suhosin = explode(',', $suhosin);
            $suhosin = array_map('trim', $suhosin);
            $suhosin = array_map('strtolower', $suhosin);
            return (function_exists($func) == true && array_search($func, $suhosin) === false);
        }
    }
    return function_exists($func);
}

[!--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
  • C#中using的三种用法

    using 指令有两个用途: 允许在命名空间中使用类型,以便您不必限定在该命名空间中使用的类型。 为命名空间创建别名。 using 关键字还用来创建 using 语句 定义一个范围,将在此...2020-06-25
  • 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
  • Android开发中findViewById()函数用法与简化

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • C++中 Sort函数详细解析

    这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
  • PHP用strstr()函数阻止垃圾评论(通过判断a标记)

    strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
  • 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
  • C语言中free函数的使用详解

    free函数是释放之前某一次malloc函数申请的空间,而且只是释放空间,并不改变指针的值。下面我们就来详细探讨下...2020-04-25
  • 解决Springboot get请求是参数过长的情况

    这篇文章主要介绍了解决Springboot get请求是参数过长的情况,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-09-17
  • C# 获取当前月份天数的三种方法总结

    本篇文章主要是对C#中获取目前月份的天数的三种方法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助...2020-06-25
  • Pandas实现DataFrame按行求百分数(比例数)

    今天小编就为大家分享一篇Pandas实现DataFrame按行求百分数(比例数),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-05-09