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

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);

?>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371633.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ReactNative开发环境

此内容根据徐赢老师的文档整理后写处 原版地址:https://tuomaxu.gitbooks.io/reactnative/content/ ReactNative是跨平开发的解决方案,在开发平台的选择上,mac平台和win平台都可以。 所需要工具如下: 1,Nodejs环境 2&a…

Python自动化开发 - 字符串, 列表, 元组, 字典和和文件操作

一、字符串特性:字符串本身不可修改,除非字符串变量重新赋值。Python3中所有字符串都是Unicode字符串,支持中文。 >>> name "Jonathan" >>> name "Jonathan" "Ni" >>>print(na…

shiro java配置,InI 配置 - 跟我学 Apache Shiro_教程_Java开发社区

INI 配置之前章节我们已经接触过一些 INI 配置规则了,如果大家使用过如 Spring 之类的 IoC/DI 容器的话,Shiro 提供的 INI 配置也是非常类似的,即可以理解为是一个 IoC/DI 容器,但是区别在于它从一个根对象 securityManager 开始。…

在Spring容器外部连接对象依赖项

有几种有趣的方法可以设置在Spring容器外部实例化的对象的属性和依赖关系。 用例首先,为什么我们需要在Spring容器之外进行依赖注入–我知道三个用例,其中我实例化了Spring容器之外的对象并需要注入依赖。 首先考虑使用Spring TaskExecutor执行一系列任…

前端学习路线汇总

https://123.w3cschool.cn/plk2fihttps://www.w3cschool.cn/nodejs/nodejs-global-object.htmlnode.js转载于:https://www.cnblogs.com/sxz2008/p/7238773.html

MediaInfo源代码分析 1:整体结构

博客地址:http://blog.csdn.net/leixiaohua1020/article/details/12016231 MediaInfo源代码分析系列文章列表: MediaInfo源代码分析 1:整体结构MediaInfo源代码分析 2:API函数MediaInfo源代码分析 3:Open()函数MediaI…

测试RESTful服务的客户端

开发使用RESTful Web API的应用程序可能意味着开发服务器和客户端。 为服务器端编写集成测试可以像使用Arquillian来启动服务器一样容易,并且可以通过REST确保测试服务是否按预期工作。 问题是如何测试客户端。 在本文中,我们将了解如何使用模拟来测试客…

linux mysql误删,linux下MySQL安装与删除 (Ubuntu)

1、MySQL安装A)MySQL安装: sudo apt-get install mysql-server mysql-clientB)启动/停止MySQL服务:MySQL 在安装以后,MySQL 就已经启动;如果需要手动启动或停止则如下操作:手动启动服务: sudo start mysql手…

对多态的理解例子

public class A {public String show(D obj) {return ("A and D");}public String show(A obj) {return ("A and A");} }class B extends A{public String show(B obj){ //重载return ("B and B");}public String show(A obj){ //重写show(A obj…

【Java每日一题】20170120

20170119问题解析请点击今日问题下方的“【Java每日一题】20170120”查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; import java.util.Arrays; import java.util.List; public class Ques0120 { publ…

使用NoSQL实现实体服务–第2部分:合同优先

现在该开始使用NoSQL项目对SOA实体服务进行编码了,并且正如我所承诺的,我将从Web服务的合同开始。 看一下本系列的第1部分 。 这种从Web服务合同定义开始的技术是面向服务的体系结构实现的“合同优先”方法的核心,并具有许多技术优势&#xf…

php hugepage,【原创】解决Redis启动报错:Transparent Huge Pages (THP) support enabled in your kernel...

问题背景Redis启动报错:WARNING you have Transparent Huge Pages (THP) support enabled in your kernel.This will create latency and memory usage issues with Redis.To fix this issue run the command echo never > /sys/kernel/mm/transparent_hugepage/…

hibernate cascade的真正含义

hibernate cascade 是 OneToOne OneToMany ManyToOne ManyToMany等注解的属性&#xff0c;表示级联操作。 /*** (Optional) The operations that must be cascaded to* the target of the association.** <p> By default no operations are cascaded.*/CascadeType[] cas…

射线碰撞检测

在我们的游戏开发过程中&#xff0c;有一个很重要的工作就是进行碰撞检测。例如在射击游戏中子弹是否击中敌人&#xff0c;在RPG游戏中是否捡到装备等等。在进行碰撞检测时&#xff0c;我们最常用的工具就是射线&#xff0c;Unity 3D的物理引擎也为我们提供了射线类以及相关的函…

高级ZK:异步UI更新和后台处理–第1部分

异步UI更新非常有用&#xff0c;因为它们通常可以提高响应性&#xff0c;可用性和用户界面的总体感觉。 我将在这里重点介绍ZK框架&#xff0c;但是通常&#xff0c;相同的原理也适用于桌面UI&#xff08;Swing&#xff0c;SWT&#xff09;。 长时间运行的处理 有时&#xff0…

php注册登录遍写入 遍验证,自动注册登录验证机制的php代码

在phpwind站点后台添加“广告管家”(CNZZ的一款广告投放的应用)的应用&#xff0c;整个“广告管家”通过iframe载入&#xff0c;载入的具体内容根据不同站点显示针对该站点的具体内容。出于意用性方面的考虑&#xff0c;需要以下二点&#xff1a;1、首次进入“广告管家”页面自…

转载:tensorflow保存训练后的模型

训练完一个模型后&#xff0c;为了以后重复使用&#xff0c;通常我们需要对模型的结果进行保存。如果用Tensorflow去实现神经网络&#xff0c;所要保存的就是神经网络中的各项权重值。建议可以使用Saver类保存和加载模型的结果。 1、使用tf.train.Saver.save()方法保存模型 tf.…

php url传递变量,php – 在laravel中通过url传递变量

我是laravel的新手,我正在努力让我的网址格式正确.格式为http://mysite/blog?category1 instead of http://mysite/blog/category1这些是我正在使用的文件,有没有办法将路由放入BlogControllerRoute.phpRoute::get(blog/{category}, function($category null){// get all the…

Apache Wicket:记住我的功能

在Web应用程序中&#xff0c;具有“记住我”功能非常普遍&#xff0c;该功能使用户每次访问我们的网站时都能自动登录。 可以使用Spring Security来实现这种功能&#xff0c;但我认为将基于请求的身份验证框架与基于组件的Web框架结合使用并不是最好的主意。 这两个世界不能很好…

Ubuntu 安装中文

系统环境&#xff1a; 1. 官网 http://pinyin.sogou.com/linux/ 下载安装包。 2. 先运行 apt-get update 。 3. 再运行 apt-get -f install 。 4. 再运行 可能有的UBuntu系统自带了。 5. 如果下载的搜狐输入法安装包的格式为 .deb 的&#xff0c; 运行 &#xff1a; dpk…