php读取本地文件操作函数

 更新时间:2016年11月25日 16:47  点击:2023
在php中读取本地文件我们最常用的就是fopen与fread函数配置使用即可了,还有一些其它的像php file_get_contents可以读本地文件也可以读远程文件了,下面我们来一一介绍一下。

fopen() 函数
直接打开文件

 代码如下 复制代码

<?php
$file = "111.txt";
$fp = fopen($file,"r");
if ($fp){
 while(!feof($fp)){
  //第二个参数为读取的长度
  $data = fread($fp, 1000);
 }
 fclose($fp);
}
echo $data;
?>

file_get_contents() 函数把整个文件读入一个字符串中

例子

 代码如下 复制代码

<?php
echo file_get_contents("test.txt");
?>

输出:

This is a test file with test text.

php读取本地文件夹文件

 代码如下 复制代码

<?php
$dir = opendir('/movie');
while(($file = readdir($dir))!=false){
  if ($file!="." && $file!="..") {
    $ns = explode('.', $file);
    echo $ns[0];
  }
}
closedir($dir);

?>

在php中字母大小写转换函数包括有:strtolower,strtoupper,ucfirst,ucwords等等函数,本文章来分别给各位介绍这几个字母大小写转换函数使用方法。

1.将字符串转换成小写
strtolower(): 该函数将传入的字符串参数所有的字符都转换成小写,并以小定形式放回这个字符串

 代码如下 复制代码

<?php
echo strtolower("Hello WORLD!");
?>

2.将字符转成大写
strtoupper(): 该函数的作用同strtolower函数相反,是将传入的字符参数的字符全部转换成大写,并以大写的形式返回这个字符串.用法同strtolowe()一 样.

 代码如下 复制代码

<?php
$str = "Mary Had A Little Lamb and She LOVED It So";
$str = strtoupper($str);
echo $str; // 打印 MARY HAD A LITTLE LAMB AND SHE LOVED IT SO
?>


3.将字符串首字符转换成大写
ucfirst(): 该函数的作用是将字符串的第一个字符改成大写,该函数返回首字符大写的字符串.用法同strtolowe()一样.

 代码如下 复制代码

<?php
 $foo = 'hello world!';
 $foo = ucwords($foo);             // Hello World!
 
 
 $bar = 'HELLO WORLD!';
 $bar = ucwords($bar);             // HELLO WORLD!
 $bar = ucwords(strtolower($bar)); // Hello World!
 ?>

4.将字符串每个单词的首字符转换成大写
ucwords(): 该函数将传入的字符串的每个单词的首字符变成大写.如"hello world",经过该函数处理后,将返回"Hello Word".用法同strtolowe()一样

 

 代码如下 复制代码
<?php
 $foo = 'hello world!';
 $foo = ucfirst($foo);             // Hello world!
 
 
 $bar = 'HELLO WORLD!';
 $bar = ucfirst($bar);             // HELLO WORLD!
 $bar = ucfirst(strtolower($bar)); // Hello world!
 ?>

5.第一个词首字母小写lcfirst()

 代码如下 复制代码


<?php
 $foo = 'HelloWorld';
 $foo = lcfirst($foo);             // helloWorld
 
 $bar = 'HELLO WORLD!';
 $bar = lcfirst($bar);             // hELLO WORLD!
 $bar = lcfirst(strtoupper($bar)); // hELLO WORLD!
 ?>

strtotime函数在php中是可以把日志转换成时间戳,他可以方便的让我们对日期时间分秒的计算,下面我来给各位介绍时strtotime函数用法,有需要的同学可参考。

1.获取当前的时间的时间戳!

a.实用strtotime('now');来获取当前的时间戳!(因为PHP当前时间和真是时间相差8小时)

 代码如下 复制代码

1 echo date('Y-m-d H:i:s',strtotime('now')+8*60*60);
结果:2013-04-05 03:15:02

b.你也可以用time() 来直接获取!

 代码如下 复制代码


1 echo date('Y-m-d H:i:s',time()+8*60*60);
结果:2013-04-05 03:15:02

2.获取10天之后的时间戳:

使用方法:

 代码如下 复制代码
1 strtotime("+10 days")+8*60*60

输出10天后的日期,便于查看。

 代码如下 复制代码

1 echo date('Y-m-d H:i:s',strtotime("+10 days")+8*60*60);

结果:2013-04-15 03:15:02

3.获取一周的时间戳:


使用方法:

 代码如下 复制代码

1 strtotime("+1 week")+8*60*60

或者你使用上面按天来获取时间戳.写法如:

 代码如下 复制代码

strtotime("+7 days");

4.还可以获取指定几周几天几小时几秒来获取时间戳

使用方法:

 代码如下 复制代码

1 strtotime ("+1 week 2 days 4 hours 2 seconds")+8*60*60
1 echo date('Y-m-d H:i:s',strtotime ("+1 week 2 days 4 hours 2 seconds")+8*60*60);

结果:2013-04-12 07:15:04;

5.获取上周一或者下周四的时间戳:

使用方法:

a.获取上周一的时间戳:

 代码如下 复制代码

1 strtotime ("last Monday")+8*60*60
1 echo date('Y-m-d H:i:s',strtotime ("last Monday")+8*60*60);

结果:2013-04-01 08:00:00;


b.获取下周四的时间戳

 代码如下 复制代码

1 strtotime ("next Thursday")+8*60*60
1 echo date('Y-m-d H:i:s',strtotime ("next Thursday")+8*60*60);

结果:2013-04-11 08:00:00;


strtotime函数比较两个时间的大小


strtotime()函数对两个固定的时间进行比较,如下:
    1):定义两个固定的时间;

    2):通过strtotime()函数将固定时间转换成时间戳;

    3):对两个时间戳的值进行比较。

其实例代码如下:

 代码如下 复制代码

<?php
$time="2012年11月23日15时50时20秒";
$times="2013-01-14 09:09:09";
if(strtotime($time)-strtotime($times)<0){
 echo "时间:".$time."&nbsp;早于时间:".$times;
}else{
 echo "时间:".$times."&nbsp;早于时间:".$time;
}
echo "<br />它们相差的时间值是:".(strtotime($time)-strtotime($times))
?>

上面的代码运行结果如下:

时间:2012年11月23日15时50时20秒 早于时间:2013-01-14 09:09:09
它们相差的时间值是:-1358125749

preg_match_all函数是用来获取指定数据内容的,它经常用于执行正则表达多,下面我来给大家介绍两个关于preg_match_all函数实现教程,一个是获取url参数,一个是获取内容中图片方法。

preg_match_all — 执行一个全局正则表达式匹配

int preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]] )

 代码如下 复制代码

<?php
preg_match_all("|<[^>]+>(.*)</[^>]+>|U",
    "<b>example: </b><div align=left>this is a test</div>",
    $out, PREG_PATTERN_ORDER);
echo $out[0][0] . ", " . $out[0][1] . "n";
echo $out[1][0] . ", " . $out[1][1] . "n";
?>

如何获取伪静态url中的参数变量,已经对应的值。

比如说。你现在url的是这样的。/js/d1b3cid419299191rs好脚本

你的.htaccess文件会这样写rewirte规则 RewriteRule ^js/(.*)$ /index.php?m=Sell&a=index&g=$1 [QSA,PT,L]

这样你就可以把g接收过来。

 代码如下 复制代码

$get = 'd1b3cid419299191rs好脚本';
$rs_pos = strpos($get,'rs');
if($rs_pos !== false)
{
    $rs = substr($get,$rs_pos);
    $rs = str_replace('rs','',$rs);
    $rs = strpos($rs,'/')!==false ? substr($rs,0,strpos($rs,'/')) : $rs;
    $get = substr($get,0,$rs_pos);
}
echo 'keywords='.$rs;
echo '<br>';
preg_match_all('/([a-z]*)([0-9]+)/',$get,$m);
if($m)
{
        $k = $v = '';
        $count = count($m[1]);
        for($i = 0; $i <= $count; $i++)
        {
            ${$m[1][$i]} = $m[2][$i];
            if(isset(${$m[1][$i]}))
            {   
                echo $m[1][$i].'='.${$m[1][$i]};
                echo '<br>';
            }
        }
}

结果:keywords=好脚本,d=1,b=3,cid=419299191

 

匹配文章中的图片

 

 代码如下 复制代码

<?php
$con = file_get_contents("http://www.111cn.net/");
$pattern="/<[img|IMG].*?src=['|"](.*?(?:[.gif|.jpg|.png]))['|"].*?[/]?>/";
preg_match_all($pattern,$con,$match);
print_r($match);
?>

输出代码

Array
(
[0] => Array
(
[0] => <img src="http://www.111cn.net/usr/themes/dddefault/images/logo.png" alt="" />
[1] => <img style="display: block; margin-left: auto; margin-right: auto;" title="" src="http://www.111cn.net/usr/uploads/2012/09/531656480.jpg" alt="2" />
[2] => <img style="display: block; margin-left: auto; margin-right: auto;" src="http://www.111cn.net/usr/uploads/2012/09/2647136297.jpg" alt="875EA1C00E50B4542797E24FA6E7E1F2.jpg" />
)
[1] => Array
(
[0] => http://www.111cn.net/usr/themes/dddefault/images/logo.png
[1] => http://www.111cn.net/usr/uploads/2012/09/531656480.jpg
[2] => http://www.111cn.net/usr/uploads/2012/09/2647136297.jpg
)
)

file_get_contents函数多用来于来采集远程服务器上的内容,但使用file_get_contents函数之前我们在php.ini中是必须把allow_url_fopen开启才行

问题描述

fopen(),file_get_contents(),getimagesize() 等都不能正常获得网络上的内容,具体表现为凡参数是URL的,一律返回空值

如果是windows可找开

allow_url_fopen开启

如果是否linux中可以

重新编译PHP,去掉–with-curlwrapper 参数——编译前记得先执行 make clean。


windows 在未开户allow_url_fopen时我们利用

 代码如下 复制代码

< ?php
$file_contents = file_get_contents(''http://www.111cn.net/'');
echo $file_contents;
?>

是获取不到值的,但我们可以利用function_exists来判断此函数是否可用。

 代码如下 复制代码


function file_get_content($url) {
if (function_exists(‘file_get_contents')) {
$file_contents = @file_get_contents($url);
}
if ($file_contents == ”) {
$ch = curl_init();
$timeout = 30;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
}
return $file_contents;
}

[!--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
  • C#从数据库读取图片并保存的两种方法

    这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-16
  • Python中的imread()函数用法说明

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

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

    下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • php把读取xml 文档并转换成json数据代码

    在php中解析xml文档用专门的函数domdocument来处理,把json在php中也有相关的处理函数,我们要把数据xml 数据存到一个数据再用json_encode直接换成json数据就OK了。...2016-11-25
  • 金额阿拉伯数字转换为中文的自定义函数

    CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
  • 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
  • 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
  • PHP函数strip_tags的一个bug浅析

    PHP 函数 strip_tags 提供了从字符串中去除 HTML 和 PHP 标记的功能,该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数...2014-05-31
  • SQL Server中row_number函数的常见用法示例详解

    这篇文章主要给大家介绍了关于SQL Server中row_number函数的常见用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-08
  • PHP加密解密函数详解

    分享一个PHP加密解密的函数,此函数实现了对部分变量值的加密的功能。 加密代码如下: /* *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */ function passport_encrypt($str,$key){ //加密函数 srand(...2015-10-30
  • nodejs文件操作模块FS(File System)常用函数简明总结

    件系统操作相关的函数挺多的。首先可以分为两大类。一类是异步+回调的。 一类是同步的。在这里只对异步的进行整理,同步的只需要在函数名称后面加上Sync即可1. 首先是一类最常规的读写函数,函数名称和形式,应该是起源于C...2014-06-07
  • c# 对CSV文件操作(写入、读取、修改)

    这篇文章主要介绍了c# 如何对CSV文件操作,帮助大家更好的理解和学习C#,感兴趣的朋友可以了解下...2020-11-03