php读取文件的几个常用函数

 更新时间:2016年11月25日 15:52  点击:1421

php教程读取文件的几个常用函数

file_get_contents:

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

和 file() 一样,不同的是 file_get_contents() 把文件读入一个字符串。

file_get_contents() 函数是用于将文件的内容读入到一个字符串中的首选方法。如果操作系统支持,还会使用内存映射技术来增强性能。

语法
file_get_contents(path,include_path,context,start,max_length

<?php
$url="http://www.111cn.net";
$contents = file_get_contents($url);
//如果出现中文乱码请加入以下代码
//$getcontent=iconv("gb2312","utf-8",file_get_contents($url));
//echo $getcontent;
echo $contents;
?>


2、curl:

如果您看到的话,那么您需要设置您的php并开启这个库。如果您是在windows平台下,那么非常简单,您需要改一改您的php.ini文件的设置,找到php_curl.dll,并取消前面的分号注释就行了,如下所示:
//取消下在的注释
extension=php_curl.dll

 

<?php
$url="http://www.111cn.net";
$ch=curl_init();
$timeout=5;
curl_setopt($ch,curlopt_url,$url);
curl_setopt($ch,curlopt_returntransfer,1);
curl_setopt($ch,curlopt_connecttimeout,$timeout);
//在需要用户检测的网页里增加下面两行
//curl_setopt($ch,curlopt_httpauth,curlauth_any);
//curl_setopt($ch,curlopt_userpwd,us_name.":".us_pwd);
$contents=curl_exec($ch);
curl_close($ch);
echo $contents;
?>


3、fopen->fread->fclose:

于fopen函数详细说明

定义和用法
fopen() 函数打开文件或者 url。

如果打开失败,本函数返回 false。

语法
fopen(filename,mode,include_path,context)参数 描述
filename 必需。规定要打开的文件或 url。
mode 必需。规定要求到该文件/流的访问类型。可能的值见下表。
include_path 可选。如果也需要在 include_path 中检索文件的话,可以将该参数设为 1 或 true。
context 可选。规


"r" 只读方式打开,将文件指针指向文件头。
"r+" 读写方式打开,将文件指针指向文件头。
"w" 写入方式打开,将文件指针指向文件头并将文件大小截为零。创建。
"w+" 读写方式打开,将文件指针指向文件头并将文件大小截为零。创建。
"a" 写入方式打开,将文件指针指向文件末尾。文件不存在创建。
"a+" 读写方式打开,将文件指针指向文件末尾。文件不存在创建。

更多详细内容请查看:http://www.111cn.net/phper/php-function/35709.htm

<?php
$handle=fopen("http://www.111cn.net","rb");
$contents="";
do{
 $data=fread($handle,8192);
 if(strlen($data)==0){
  break;
 }
 $contents.=$data;
}
while(true);
fclose($handle);
echo $contents;
?>

果直接用php教程函数“str_split”来分割,会出现乱码,因为中文字符长度和英文字符长度是不一样的。但是我们可以建立新的函数先把字符转成ascii值,接着通过判断不同字符的长度来正确分割中文字符串,把结果存入数组,最后再用php函数“join”在字符间插入百分号

<?php
function str_split_utf8($str){
 $split=1;
 $array=array();
 for($i=0;$i<strlen($str)){
  $value=ord($str[$i]);
  if($value>127){
   if($value>=192&&$value<=223) $split=2;
   elseif($value>=224 && $value<=239) $split=3;
   elseif($value>=240 && $value<=247) $split=4;
  }else{
   $split=1;
  }
  $key=null;
  for($j=0;$j<$split;$j++,$i++){
   $key.=$str[$i];
  }
  array_push($array,$key);
 }
 return $array;
}
$string="一聚教程网www.111cn.net";
$arr1=str_split_utf8($string);
echo join("%",$arr1);
?>

方法二

 

<?php
$str="一聚教程网:http://www.111cn.net";
function mbstringtoarray($str,$charset) {
    $strlen=mb_strlen($str);
    while($strlen){
        $array[]=mb_substr($str,0,1,$charset);
        $str=mb_substr($str,1,$strlen,$charset);
        $strlen=mb_strlen($str);
    }
    return $array;
}
$arr=mbstringtoarray($str,"gb2312");
?>


  注意:

  1、$charset变量为网页编码,如"gb2312"或"utf-8";

  2、使用方法一要求服务器必须开启mbstring.dll扩展,否则代码执行错误,所以对于使用虚拟主机的朋友,可以考虑使用第二种方法。

  方法二:

<?php
function str_to_arr($str){
 $l=strlen($str);
 for($i=0;$i<$l;$i++){
  $arr[]=ord($str[$i])>127?$str[$i].$str[++$i]:$str[$i];
 }
 return $arr;
}
$arr=str_to_arr($str);
?>

什么是 cookie?
cookie 常用于识别用户。cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。通过 php教程,您能够创建并取回 cookie 的值。
如何创建 cookie?
setcookie() 函数用于设置 cookie。

注释:setcookie() 函数必须位于 <html> 标签之前。

语法
setcookie(name, value, expire, path, domain);

function cookie($var, $value='', $time=0, $path='', $domain=''){
$_cookie[$var] = $value;
if(is_array($value)){
foreach($value as $k=>$v){
setcookie($var.'['.$k.']', $v, $time, $path, $domain, $s);
}
}else{
setcookie($var, $value, $time, $path, $domain, $s);
}


如果浏览器不支持 cookie 该怎么办?
如果您的应用程序涉及不支持 cookie 的浏览器,您就不得不采取其他方法在应用程序中从一张页面向另一张页面传递信息。一种方式是从表单传递数据(有关表单和用户输入的内容,稍早前我们已经在本教程中介绍过了)。

下面的表单在用户单击提交按钮时向 "welcome.php" 提交了用户输入:

<html>
<body>

<form action="welcome.php" method="post">
name: <input type="text" name="name" />
age: <input type="text" name="age" />
<input type="submit" />
</form>

</body>
</html>取回 "welcome.php" 中的值,就像这样:

<html>
<body>

welcome <?php echo $_post["name"]; ?>.<br />
you are <?php echo $_post["age"]; ?> years old.

</body>
</html>

在php教程遍历数据我们常用的有二种方法 ,利用了for 与foreach来操作,前者是知道数据长度,然后 后者可以不知道数据长度,下面我们来分别举例说明。

<?

$array = array(1,2,3,4,5,'www.111cn.net','www.111cn.net');
for( $i=0;$i<count($array);$i++)
{
 echo $array[$i].'<br />';
}

输出结果如下
1
2
3
4
5
www.111cn.net
www.111cn.net

<?

foreach( $array as $v => $vv )
{
 echo $vv.'<br />';
}

输出结果如下

1
2
3
4
5
www.111cn.net
www.111cn.net
?>

两种输出结果完全相同,对于遍历多维数据我们就不说了,如果是多维数据利用foreach会更方便一些。

本站原创教程,转载必须注明来源于http://www.111cn.net/phper/php.html 否则必究

php教程 json中文乱码处理方法

网页特效客户端对中文的处理是使用utf-8内码的,并且json对中文的处理也是

使用utf-8,因此,ajax->php的时候,php需要utf8->gbk;php处理好后,在交给

json函数处理之前需要gbk->utf8,然后将结果php->ajax。

<?php
$code = json_encode($str);
$code = preg_replace("#u([0-9a-f]+)#ie", "iconv('ucs-2', 'utf-8',

pack('h4', '1'))", $code);
?>
json_encode() 给含有中文的内容进行编码时,会出现类似于u5c71u4e1c这样的

代码,虽然使用jquery或者json_decode()进行解码的时候


下面看个实例

<?php
$json = array (
0 =>
array (
'id' => '13',
'name' => '乒乓球',
),
1 =>
array (
'id' => '17',
'name' => '篮球',
)
)
?>
encode_json进行编码的话,输出结果是本篇文章来源于:开发学院
<?php
[{"id":"13","name":null}
,{"id":"13","name":null}]
?>

[!--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
  • C++中 Sort函数详细解析

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

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • 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
  • PHP加密解密函数详解

    分享一个PHP加密解密的函数,此函数实现了对部分变量值的加密的功能。 加密代码如下: /* *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */ function passport_encrypt($str,$key){ //加密函数 srand(...2015-10-30
  • SQL Server中row_number函数的常见用法示例详解

    这篇文章主要给大家介绍了关于SQL Server中row_number函数的常见用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-08
  • c# 对CSV文件操作(写入、读取、修改)

    这篇文章主要介绍了c# 如何对CSV文件操作,帮助大家更好的理解和学习C#,感兴趣的朋友可以了解下...2020-11-03
  • php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法

    最近遇到一个问题,就是在使用php的mail函数发送utf-8编码的中文邮件时标题出现乱码现象,而邮件正文却是正确的。最初以为是页面编码的问题,发现页面编码utf-8没有问题啊,找了半天原因,最后找到了问题所在。 1.使用 PEAR 的...2015-10-21