php 写入和读取文件函数
//读取文件函数
<?
function readfromfile($file_name) {
if (file_exists($file_name)) {
$filenum=fopen($file_name,"r");
flock($filenum,lock_ex);
$file_data=fread($filenum, filesize($file_name));
rewind($filenum); //osphp.com.cn
fclose($filenum);
return $file_data;
}
}
?>
//写入文件函数
<?
function writetofile($file_name,$data,$method="w") {
$filenum=fopen($file_name,$method);
flock($filenum,lock_ex);
$file_data=fwrite($filenum,$data);
fclose($filenum);
return $file_data;
}
?>
unset ( mixed var [, mixed var [, ...]])
unset() 销毁指定的变量。注意在 php教程 3 中,unset() 将返回 true(实际上是整型值 1),而在 php 4 中,unset() 不再是一个真正的函数:它现在是一个语句。这样就没有了返回值,试图获取 unset() 的返回值将导致解析错误
null 字节是变量为空 $t = ''; 变量有值,不过是空,isset()是true
null 常数是 $t = null; 变量没有值,连空都不是,isset()是false
<?php
$a = array(
'a' => 'a',
'b' => 'b'
);
$b = array(
'a' => 'a',
'b' => 'b'
);
$a['b'] = null;
unset($b['b']);
print('<pre>');
print_r($a);
print('<br />');
print_r($b);
print('</pre>');
?>
结果:
array
(
[a] => a
[b] =>
)
array
(
[a] => a
)
php教程文件写操作
将数据写入文件的操作主要涉及三个步骤及部分文件操作函数如下:
1、打开文件(文件操作函数:fopen)
2、写入文件(文件操作函数:fwrite等)
3、关闭文件(文件操作函数:fclose)
下面通过文件读写操作代码实例教程来讲解
基本的php文件写入操作函数fopen、fwrite、fclose应用教程
1、使用fopen函数打开文件,在应用fopen函数准备打开文件时,你首先需要明确:
打开文件干什么?是读文件中的数据呢,还是将数据写入文件,亦或者读写文件?
另外你需要考虑如果文件中已经存在相关数据,你是覆盖原有文件中的数据呢,还是仅仅将新数据添加至文件末尾
这些问题涉及到php文件读写操作中的fopen函数中的文件模式的应用,fopen函数原型如下:
复制代码 代码如下:
fopen(filename,mode,include_path,context)
调用文件操作函数fopen()时,通常需要传递两个或三个参数。
filename:规定要打开的文件或url。可以指定文件的绝对路径,windows一般为c:,unix为/,通过url,你也可以打开远程文件。在这里写入的文件与php文件写入代码文件我放在同一个目录。
mode:规定要求到该文件/流的访问类型。即打开文件的模式。
include_path:可选项。如果需要在include_path中搜索文件的话,可以将该参数设为1或true。
常用的fopen的文件操作模式说明
”r” - 以只读方式打开文件,从文件头开始读。
”r+” - 以读写方式打开文件。
”w” - 以写入方式打开文件,从文件头开始写。如果文件不存在则尝试创建,如果文件存在,则先删除文件中的内容。
”w+” - 以读写方式打开文件,从文件头开始读写。如果文件不存在则尝试创建,如果文件存在,则先删除文件中的内容。
”a” - 以写入方式打开,从文件末尾开始追加写。如果文件不存在则尝试创建。
”a+” - 以读写方式打开,从文件末尾开始追加写写或者读。如果文件不存在则尝试创建。
注意:在进行文件读写操作时,你一定要确保打开的文件具有相应的读写权限,否则fopen会报错。你可以使用@来抑制产生的错误,然后合理处理错误。
2、在使用文件操作函数fopen打开文件后,需要通过对变量赋值,然后写到$fp指向的文件指针中去,在上述php文件写入操作教程实例中,我使用的是一行一行存储,即换行储存,主要通过n作为换行分隔符。
fwrite文件写入函数原型如下:
复制代码 代码如下:
fwrite(fp,string,length)
在这里你也可以使用文件写入函数fputs,其是fwrite的别名函数,功能与用法与fwrite一样。
在文件写入函数fwrite中length是可选项,主要用来设定写入文件的最大字符数,如果设定了这个参数,fwrite会按设定的length,在指定文件中写入规定长度的字符。fwrite()返回写入文件的字符数,出现错误时则返回false。
在文件写入操作完成后,需要关闭文件句柄,否则会占用系统资源等。可以使用fclose($fp)函数来完成这件事。文件关闭成功则返回true,否则返回false。
php教程验证请求页面来源
if( $_server['http_x_requested_with'] == 'xmlhttprequest' ) {
echo 'ajax';
} else {
echo 'normal';
}
jquery内部实现ajax的时候,已经加入了标识
jquery源码中是这样的:
xhr.setrequestheader("x-requested-with", "xmlhttprequest");
所以,在php中可以通过http_x_requested_with来判断,不需要另外实现 :)
下面看原理
<strong>在发送ajax请求的时候,我们可以通过xmlhttprequest这个对象,创建自
定义的header头信息</strong>
如果您使用的是原生的ajax方法,也就是未使用jquery或者其他js框架包装的ajax
方法,那么代码如下:
xmlhttprequest.setrequestheader("request_type","ajax");
通过jquery的$.ajax()方法,可以轻松地在发送ajax请求之前,创建我们自定义的
header头信息。
$.ajax({
type : "get",
url : base_url +
'php_check_ajax_request/get_user_list.html',
beforesend : function (xmlhttprequest) {
xmlhttprequest.setrequestheader("request_type","ajax");
},
success : function(data){
$("#user_list").html(data);
$tip.hide();
$button.attr('disabled',true);
}
});
在php获取时
if (isset($_server['http_request_type']) && $_server['http_request_type']
== "ajax"){//ajax提交
}else{//非ajax提交
}
foreach 语句用于循环遍历数组。
每进行一次循环,当前数组元素的值就会被赋值给 value 变量(数组指针会逐一地移动) - 以此类推。
语法
foreach (array as value)
{
code to be executed;
}
例子
下面的例子示范了一个循环,这个循环可以输出给定数组的值:
<html>
<body><?php教程
$arr=array("one", "two", "three");foreach ($arr as $value)
{
echo "value: " . $value . "<br />";
}
?></body>
</html>
下面详细看一下详细说明
foreach ($array as &$row) {
$row = explode('/', $row);
}
foreach ($array as $row) {
//do something
}
这么写,在第二个循环会出逻辑错误,加入第二个循环中do something的地方是输出$row,循环到最后一个的时候的输出是倒数第二个元素,而不是最后一个
要这么写
复制代码 代码如下:
foreach ($array as &$row) {
$row = explode('/', $row);
}
unset($row);
foreach ($array as $row) {
//do something
}
或者第一个循环这么写
复制代码 代码如下:
foreach ($array as $key => $row) {
$array[$key] = explode('/', $row);
}
相关文章
- eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
- 在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
Python astype(np.float)函数使用方法解析
这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08- 这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-16
- 这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
- 本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
- 下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
- 在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函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
Android开发中findViewById()函数用法与简化
findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20- strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
废话不多说直接上代码复制代码 代码如下:/********************** curl 系列 ***********************///直接通过curl方式取得数据(包含POST、HEADER等)/* * $url: 如果非数组,则为http;如是数组,则为https * $header:...2014-06-07- Foreach 函数(PHP4/PHP5)foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。...2013-09-28
- free函数是释放之前某一次malloc函数申请的空间,而且只是释放空间,并不改变指针的值。下面我们就来详细探讨下...2020-04-25
- 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加密解密的函数,此函数实现了对部分变量值的加密的功能。 加密代码如下: /* *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */ function passport_encrypt($str,$key){ //加密函数 srand(...2015-10-30
- 这篇文章主要介绍了c# 如何对CSV文件操作,帮助大家更好的理解和学习C#,感兴趣的朋友可以了解下...2020-11-03
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法
最近遇到一个问题,就是在使用php的mail函数发送utf-8编码的中文邮件时标题出现乱码现象,而邮件正文却是正确的。最初以为是页面编码的问题,发现页面编码utf-8没有问题啊,找了半天原因,最后找到了问题所在。 1.使用 PEAR 的...2015-10-21