1. 文件操作

1.1 打开关闭文件

fopen()

resource fopen ( string filename, string mode [, bool use_include_path [, resource zcontext]] )?

fopen()函数将resource绑定到一个流或句柄。绑定之后,脚本就可以通过句柄与此资源交互;

例1:以只读方式打开一个位于本地服务器的文本文件

$fh = fopen("test.txt", "r");

例2:以只读方式打开一个远程文件

$fh = fopen("http://www.baidu.com", "r");

fclose()

bool fclose ( resource handle )

将 handle 指向的文件关闭 。如果成功则返回 TRUE,失败则返回 FALSE;

文件指针必须有效,并且是通过 fopen() 或 fsockopen() 成功打开的;

虽然每个请求最后都会自动关闭文件,但明确的关闭打开的所有文件是一个好的习惯;

例:

$fh = fopen("test.txt", "r");

fclose($fh);

1.2 读取文件

php 提供了很多从文件中读取数据的方法,不仅可以一次只读取一个字符,还可以一次读取整个文件。

fread()

string fread ( int handle, int length )?

fread()函数从handle指定的资源中读取length个字符,

当到达EOF或读取到length个字符时读取将停止。

如果要读取整个文件,使用filesize()函数确定应该读取的字符数;

例:

$file = "test.txt";

$fh = fopen( $file, "r");

$str = fread($fh, filesize($file));

echo $str;

fclose($fh);

fgets()

string fgets ( int handle [, int length] )?

fgets()函数从handle指定的资源中读取一行字符。碰到换行符(包括在返回值中)、

EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况);

例:

逐行读取文件

$handle = fopen("data.txt", "r");

while(!feof($handle)){

$content = fgets($handle);

$content= iconv(‘gbk‘,‘utf-8‘,$content);

echo $content."
”;

}

fclose($handle);

注意:如果没有指定 length,则默认为 1K,或者说 1024 字节。

file()

array file ( string $filename [, int $flags = 0 [, resource $context ]])

file()函数将文件读取到数组中,各元素由换行符分隔。

例:

$arr = file("test.txt");

print_r($arr);

file_get_contents()

string file_get_contents ( string filename [, bool use_include_path [, resource context [, int offset [, int maxlen]]]] )

file_get_contents()函数将文件内容读到字符串中;

例:

$str = file_get_contents("test.txt");

echo $str;

1.3 写入文件

fwrite()

int fwrite ( resource handle, string string [, int length] )

fwrite()函数将string的内容写入到由handle指定的资源中。

如果指定length参数,将在写入Length个字符时停止。

例:

$str = "test text";

$fh = fopen("test.txt", "a");

fwrite($fh, $str);

fclose($fh);

file_put_contents()

int file_put_contents ( string filename, string data [, int flags [, resource context]] )

file_put_contents()函数将一个字符串写入文件,与依次调用fopen(),fwrite(),fclose()功能一样;

例:

$str = "hello";

file_put_contents("test.txt", $str);

1.4 复制,重命名,删除文件

copy()

bool copy ( string source, string dest )

将文件从 source 拷贝到 dest。如果成功则返回 TRUE,失败则返回 FALSE。

例:Copy("test.txt", "test.txt.bak");

rename()

bool rename ( string oldname, string newname [, resource context] )

尝试把 oldname 重命名为 newname。 如果成 功则返回 TRUE,失败则返回 FALSE。

例:rename("test.txt", “test2.txt”);

unlink()

bool unlink ( string filename )

删除文件,如果删除成功返回true, 否则返回false;

例1:

删除一个文本文件

unlink(“test.txt");

1.5 读取目录

copy()

bool copy ( string source, string dest )

将文件从 source 拷贝到 dest。如果成功则返回 TRUE,失败则返回 FALSE。

例:Copy("test.txt", "test.txt.bak");

rename()

bool rename ( string oldname, string newname [, resource context] )

尝试把 oldname 重命名为 newname。 如果成功则返回 TRUE,失败则返回 FALSE。

例:rename("test.txt", “test2.txt”);

unlink()

bool unlink ( string filename )

删除文件,如果删除成功返回true, 否则返回false;

例1:

删除一个文本文件

unlink(“test.txt");

scandir()

array scandir ( string directory [, int sorting_order [, resource context]] )

返回一个包含有 directory 中的文件和目录的数组;

rmdir()

bool rmdir ( string dirname )

删除目录

mkdir()

bool mkdir ( string pathname [, int mode [, bool recursive [, resource context]]] )

?尝试新建一个由 pathname 指定的目录。

1.6 其他文件操作函数

filesize()

int filesize ( string filename )

取得文件的大小,以字节为单位

filectime()

int filectime ( string filename )

取得文件的创建时间,以unix时间戳方式返回

例:

$t = filectime("test.txt");

echo date("Y-m-d H:i:s", $t);

fileatime() 返回文件的最后改变时间;

filemtime() 返回文件的最后修改时间;

注:”最后改变时间”不同于 “最后修改时间”。最后改变时间指的是对文件inode数据的任何改变,包括改变权限,所属组,拥有者等; 而最后修改时间指的是对文件内容的修改

file_exists() 检查文件或目录是否存在,如果存在返回true, 否则返回false;

is_readable() 判断文件是否可读,如果文件存在并且可读,则返回true;

is_writable() 判断文件是否可写,如果文件存在并且可写,则返回true;

1.7 解析目录路径函数

basename()

string basename ( string path [, string suffix] )

返回路径中的文件名部份,当指定了可选参数suffix会将这部分内容去掉;

例:

2. 课上练习代码

//打开文件

$rh = fopen(‘PHP_3.txt‘, ‘r+‘);

//读取文件,第一个参数是文件句柄,第二个是读取方式

//计算文件大小(字节)

$num = filesize(‘PHP_3.txt‘);

$str = fread($rh, $num);

echo $str;

//如果设置文件访问错误,需要去更改文件的权限,属性 --> 右下角--> 开放权限 --> 改为可读可写

echo "


";

//换行读取 识别 enter 不识别

$str_1 = fgets($rh);

$str_2 = fgets($rh);

//换行读取再次读取还会继续上次的读取位置继续读取

echo $str_1;

echo "


";

echo $str_2;

//file 将文件内容转化为数组,
直接转化为换行,回车作为分隔符

$arr = file(‘PHP_3.txt‘);

print_r($arr);

echo "


";

//file_get_contents 读取文件内容,返回字符串,并且可以读取外部网络数据

// echo file_get_contents(‘PHP_3.txt‘);

//直接读取网站,存到一个文本中,可以直接获取对方的页面静态布局,注意,是静态的!

// $str_3 = file_get_contents(‘http://www.lanou3g.com‘);

// file_put_contents(‘PHP_3.txt‘, $str_3);

//重命名

// rename(‘PHP_3.txt‘, ‘1.txt‘);

// rename(‘1.txt‘,‘PHP_3.txt‘);

//文件拷贝 使用../ 替代上级文件夹

// copy(‘PHP_3.txt‘, ‘../test.txt‘);

//读取目录

//1.打开文件目录句柄 .(一个点) 获取本级目录 ..(两个点)是上级目录

$rh_1 = opendir(‘.‘);

// $arr = readdir()

//readdir 获取文件目录,这个和 MySQL 一样,必须使用循环取出

while ($num = readdir($rh_1)) {

//读取出来的

echo $num;

echo "


";

}

//读取目录

print_r(scandir(‘.‘));

//创建一个新的文件夹

// mkdir(‘asdasd‘);

//删除整个文件夹 删除目录必须保证目录内部没有其他文件

// $is_bool = rmdir(‘1‘);

//删除

// unlink(‘PHP_3.txt‘);

//获取文件创建时间

echo filectime(‘PHP_3.txt‘);

echo "


";

//返回文件最后访问的时间

echo fileatime(‘PHP_3.txt‘);

echo "


";

//解析文件具体名称

echo basename(‘PHP_3.txt‘,‘txt‘);

echo "


";

//获取当前文件所在的目录的名称

echo dirname(‘file/PHP_3.txt‘);

echo "


";

//返回全程,拓展名,文件名

print_r(pathinfo("PHP_3.txt"));

//修改文件目录权限

echo "


";

fclose($rh);

fclose($rh_1);

?>

h5 php js实验总结,H5学习_番外篇_PHP数据库操作相关推荐

  1. php h5读写数据库,H5学习_番外篇_PHP数据库操作

    php //打开文件 $rh = fopen('PHP_3.txt', 'r+'); //读取文件,第一个參数是文件句柄,第二个是读取方式 //计算文件大小(字节) $num = filesize(' ...

  2. Rust学习日记番外篇——代码写诗

    Rust学习日记番外篇--代码写诗 中秋节即将来临啦~~提前祝大家月饼节快乐.今天看到了掘金的文章,有个代码写诗的活动,那我就小露一手了. 0x01 选定诗句 在掘金有下面几句诗可选. 举头望明月,低 ...

  3. python 按键精灵 离线_(番外篇)Python操纵网盘客户端批量离线下载电影

    上回(Python实现电影排行榜自动网盘下载(4)Cookies免登录+抓包下载)说到,一段时间内能进行多少次离线下载还是受限于验证码的输入. 在此有两个解决方案, 见招拆招 通过GUI优化验证码输入 ...

  4. 【TDA2x学习】番外篇一、TDA2x工程学习手记

    据振宇师兄说,TDA2HGBRQABCQ1是低配版TDA2x,对于EVE并没有4个,只有2个! 可运行在任意核上的Link:Dup link,Null link,Syn link等可以运行在任何核上 ...

  5. python应用实例论文_番外篇——Python多进程应用实例一则

    前言: 现在的电脑普遍进入多核时代,当我们需要做一些计算密集型任务时,运用并行计算能够发挥CPU的性能,也够大大的节省我们的时间.在现在的数据挖掘中,Python是一门非常强大的语言,语法直接明了,易 ...

  6. 用python内置函数算复杂度吗_番外篇: Python 面试感受

    醒来有人说我刁难面试者, 我来解释一下, 我的面试环节一般是最后一个环节才会进行 python 基础的面试. 之前都是项目交流, 进入到最后这个环节的, 都是我认为项目 OK 的, 我对他的能力也是认 ...

  7. document.createelement如何绑定点击事件_番外篇-EXCEL如何使用宏(VBA)

    小编,会在后续推送一些关于VBA(宏)相关的文章(之前其实也推送了一些,其中也大概说了一下如何使用),所以我们今天就专门写一篇如何使用宏,方便大家使用已经写好的宏. 如何使用宏:常规宏VBA-一般都是 ...

  8. TikZ学习笔记番外篇: 使用tikzcd包绘制交换图

    什么是交换图 映射的合成关系, 用图表示出来, 称为交换图. 怎么绘制 有很多方法可以绘制, 都是基于LaTeX\LaTeXLATE​X 的, 这里我使用了TikZ\mathrm{T}i\mathrm ...

  9. cocos2d-x学习笔记番外篇05:如何快速屏蔽触摸

    cocos2d-x有个问题,即使暂停CCScene运行,触摸仍然有效,有些菜单和按钮仍然会被触发. 所以有的时候我们要手动屏蔽触摸,尤其是在弹出计费画面的,或者使用一些本平台自带控件的时候. 做法有几 ...

最新文章

  1. java 虚拟机指令集_jvm规范-jvm虚拟指令集及编译
  2. 东芝打印机cd40故障_东芝小尺寸UV平板机介绍
  3. 2 - 4 - 实例:X86的中断与异常机制(9-48)
  4. debugger vsm_ProteusVSM常见问题解答
  5. 网易实战分享|实时音视频会议场景下QoS策略
  6. 如何配置nginx+uwsgi+django?(知乎上面的看着不错)
  7. Apache Shiro第2部分–领域,数据库和PGP证书
  8. 阿里云官方推出操作系统“等保合规”镜像 -- Alibaba Cloud Linux 等保2.0三级版
  9. aspose.word使用简单方法
  10. 使用Eclipse开发Android应用程序
  11. loadrunner11压力测试设置
  12. 最小径集的算法_【ZZ】最小割集Stoer-Wagner算法
  13. 解决Veil—Evasion安装中git clone导致失败的问题
  14. http+flv+java,制作一个全功能的FLV播放器
  15. python gtk_python-gtk学习笔记
  16. ns-3学习手记11_ofswitch13安装教程
  17. Pytorch系列笔记(六)
  18. Linux下文件的备份
  19. castle典范英语 storm_求典范英语theMasked Cleaning Ladies 第二篇save the day梗概和
  20. fluent软件模拟计算3D弯头中冲蚀现象

热门文章

  1. ipad2018编写html,IT教程:ipad6是ipad2018吗
  2. easymock 图片_数据模拟神器 easy-mock 正式开源
  3. vue 实例化几种方式_vue注册组件的几种方式总结
  4. VUE使用vue-seamless-scroll自动滚动表格数据,对表格数据排序无效的解决办法
  5. 微型计算机系统中的内部寄存,微机原理与接口技术习题集汇总.doc
  6. DVWA通关教程(中)
  7. umi config.js整体defineConfig配置
  8. vue-cli使用说明
  9. Maplace.js – 小巧实用的 jQuery 谷歌地图插件
  10. flex实现水平居中和两栏布局