php课程 9-33 php文件操作里面的注意事项有哪些
php课程 9-33 php文件操作里面的注意事项有哪些
一、总结
一句话总结:文件操作其实很简单,就是几个文件操作函数需要记一下。
1、文件函数如何使用(如何找php文件函数的资料)?
查看参考手册,如果在线手册不好找位置,下个本地版的chm或许不错
2、php中可以实现文件删除、复制、重命名这些操作么?
可以
3、open中的w和a与r打开一个不存在文件的不同是什么?
w和a,如果文件不存在,就创建文件
r的话,文件不存在,也不创建,直接报错
4、什么时候使用rewind()函数?
在a+方式的时候,写了文件需要读的时候,用rewind(),把光标弄到开头去
'a+':读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
5、图片可以用字节方式存入数据库么,存了之后怎么取(图片的本质是二进制代码)?
fopen+fread即可
加文件头header('content-type:image/jpeg')
这里的fread不区分文件类型,所以特别好用
2 header('content-type:image/jpeg');
3
4 $file='logo2.jpg';
5
6 $fr=fopen($file,'r');
7 echo fread($fr,filesize($file));
8 fclose($fr);
6、php读取文件内容最好用什么函数?
file_get_contents() 可文件,可网络
file_put_contents()还支持追加
4 $url='http://www.baidu.com';
5
6 $str=file_get_contents($url);
7
8 file_put_contents('baidu.html',$str);
7、页面缓存怎么实现?
就用file_get_contents(),然后就可以读取自己网页的内容,存下来,就是静态文件了,然后让用户访问的时候,直接访问这个静态文件就好,反正内容和动态网页里面是一样的,估计很多缓存都是这么实现的
这样的话打开的特别快
4 $url='http://www.baidu.com';
5
6 $str=file_get_contents($url);
7
8 file_put_contents('baidu.html',$str);
8、如何让别人优先访问的是静态html,而不是动态的php呢?
在apache的配置里面把index.html放在index.php前面就好
9、php正则匹配的时候为什么加()圆括号分组?
因为我们分组了的话有些函数会给我们把分组里面的内容匹配出来,这样就少了我们的一道操作,比如perg_match()
9 preg_match('/<title>(.+)<\/title>/s',$str2,$ms);
10、php中如何让点可以匹配换行?
模式修饰符s,或者说把里面的内容视为独立的行
9 preg_match('/<title>(.+)<\/title>/s',$str2,$ms);
11、如何把获取的字符串里面的内容改成utf-8?
用iconv方法
7 $str2=iconv('gb2312','utf-8',$str);
二、php文件操作里面的注意事项有哪些
1、相关知识
1.文件操作
2.目录操作
3.文件上传
4.文件下载
常用文件类型函数:
• filetype();
• is_dir();
• is_file();
• file_exists();
• filesize();
文件操作:
1.文件删除
unlink();
2.文件复制
copy();
3.重命名文件名
rename();
4.打开文件
fopen();
5.关闭文件
fclose();
6.读取文件内容
fread()
readfile(); #不需要资源
file_get_contents(); #不需要资源
7.写入文件
fwrite();
file_put_contents(); #不需要资源
2、代码
页面静态化
<?php
// $url='http://www.baidu.com'; $str=file_get_contents($url); file_put_contents('baidu.html',$str);
?>
写入并读出
<?php
$file='test.txt'; $fr=fopen($file,'a');
fwrite($fr,'abc<br>abc<br>');
fclose($fr); $fr=fopen($file,'r');
echo fread($fr,filesize($file));
fclose($fr);
?>
<?php
$file='test.txt'; $fr=fopen($file,'a+');
fwrite($fr,'abc<br>abc<br>');
rewind($fr); echo fread($fr,filesize($file));
fclose($fr);
?>
读取图片内容
<?php
header('content-type:image/jpeg'); $file='logo2.jpg'; $fr=fopen($file,'r');
echo fread($fr,filesize($file));
fclose($fr);
?>
网页标题采集
<?php
//标题采集器 $url='http://www.163.com'; $str=file_get_contents($url);
$str2=iconv('gb2312','utf-8',$str); preg_match('/<title>(.+)<\/title>/s',$str2,$ms);
echo "网站标题: {$ms[1]}";
?>
php课程 9-33 php文件操作里面的注意事项有哪些的更多相关文章
- php课程 10-35 php实现文件上传的注意事项是什么
php课程 10-35 php实现文件上传的注意事项是什么 一.总结 一句话总结:记得限制大小和类型,还有就是用move_uploaded_file($sfile,$dfile);函数把上传到php临 ...
- Day01:文件操作(File、RandomAccessFile)
文件操作 JAVA中的 File 类是文件和目录路径名的抽象形式.使用 File 类可以获取文件本身的一些信息,例如文件所在的目录.文件长度.文件读写权限等. 在 Java 中,File 类是 jav ...
- php课程---文件操作及文件上传的代码总结
php里面文件包含目录和文件两种 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...
- Mysql 8.0 导入txt文件操作(课程实验)
一.实验准备: 1.实验设备:Dell laptop 7559; 2.实验环境:windows 10操作系统; 3.数据库版本:mysql 8.0; 二.实验目的: 1.将一个宠物表pet.txt文件 ...
- Python之旅Day3 文件操作 函数(递归|匿名|嵌套|高阶)函数式编程 内置方法
知识回顾 常见五大数据类型分类小结:数字.字符串.列表.元组.字典 按存值个数区分:容器类型(列表.字典.元组) 标量原子(数字.字符串) 按是否可变区分:可变(列表.字典) 不可变(数字.字符串.元 ...
- Python基础-week03 集合 , 文件操作 和 函数详解
一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...
- python基础(三)-- 文件操作
一. 文件操作: 对文件操作流程 1.打开文件,得到文件句柄并赋值给一个变量 2.通过句柄对文件进行操作 3.关闭文件 现有文件如下 : Somehow, it seems the love I kn ...
- MFC文件操作
文件操作:二进制文件和文本文件的区别.二进制文件将数据在内存中存在的模式原封不动的搬到文件中,而文本文件是将数据的asc码搬到文件中.首先做一个读写文件的菜单,在CxxView里响应1.C的方式:fw ...
- Python开发【第三章】:Python的文件操作
一.文件操作模式概述 1.打开文件的模式: r, 只读模式[默认] w,只写模式[不可读:不存在则创建:存在则删除内容:] a, 追加模式[不可读:不存在则创建:存在则只追加内容:] 2." ...
随机推荐
- C#实现窗口拖动时各个控件同比自己主动放缩大小
实现方式主要是利用panel控件为主题.对于每一个控件的大小位置和字体这几个属性进行记录. 然后依据窗口改变的大小同一时候放缩. 简要过程例如以下: 1 创建C#窗口程序项目. 2 Panel放置到 ...
- OpenCASCADE中散乱Edge生成Wire
OpenCASCADE中散乱Edge生成Wire eryar@163.com Abstract. In OpenCASCADE a wire can be built from any number ...
- 一题多解(三)—— Python 字符串的拼接
1. format def event_log(name, time): print('Event: {}, happens at {}'.format(name, str(time))) 2. 使用 ...
- 深入理解Android(4)——理解Android中的JNI(下)
在前面文章中简单介绍了JNI,这一篇文章来简单看一下jni.h中定义的一些常用方法,来实现通过C++调用Android中的Java代码. 转载请说明出处:http://blog.csdn.net/da ...
- CentOS7 NFS配置
如果在安装Centos7时选择安装必要的开发工具选项,所以系统已经安好NFS必要的软件. 配置: # vi /etc/exports /home/qws/share 192.168.168.0/24 ...
- cf1089d Distance Sum
题目大意 给一个有n个点,m条边的无向连通图,求所有点两两之间的最短路.$(2<=n<=10^5;n-1<=m<=n+42)$ solution 我们注意到$m-n+1$很小. ...
- 关于vue.js中v-model与表单控件的双向绑定。
单选框:<input type="checkbox" id="checkbox" v-model="checked"><l ...
- CMDB学习之三数据采集
判断系统因为是公用的方法,所有要写基类方法使用,首先在插件中创建一个基类 将插件文件继承基类 思路是创建基类使用handler.cmd ,命令去获取系统信息,然后进行判断,然后去执行 磁盘 ,cpu, ...
- postgresql 不同数据库不同模式下的数据迁移
编写不容易,转载请注明出处谢谢, 数据迁移 因为之前爬虫的时候,一部分数据并没有上传到服务器,在本地.本来用的就是postgresql,也没用多久,数据迁移的时候,也遇到了很多问题,第一次使pg_du ...
- 阅读笔记—JSP
JSP页面概述 JSP(JavaServer Page)是一种动态页面技术,它在java web应用中主要实现表现逻辑.JSP页面是在HTML页面中嵌入JSP元素的动态Web页面,一般来说JSP页面中 ...