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、代码

页面静态化

1 <?php 
2 //
3 
4 $url='http://www.baidu.com';
5 
6 $str=file_get_contents($url);
7 
8 file_put_contents('baidu.html',$str);
9 ?>

 

写入并读出

 1 <?php 
 2 $file='test.txt';
 3 
 4 $fr=fopen($file,'a');
 5 fwrite($fr,'abc<br>abc<br>');
 6 fclose($fr);
 7 
 8 $fr=fopen($file,'r');
 9 echo fread($fr,filesize($file));
10 fclose($fr);
11  ?>
 1 <?php 
 2 $file='test.txt';
 3 
 4 $fr=fopen($file,'a+');
 5 fwrite($fr,'abc<br>abc<br>');
 6 rewind($fr);
 7 
 8 echo fread($fr,filesize($file));
 9 fclose($fr);
10  ?>

 

 

 

读取图片内容

1 <?php 
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);
9 ?>

 

网页标题采集

 1 <?php 
 2 //标题采集器
 3 
 4 $url='http://www.163.com';
 5 
 6 $str=file_get_contents($url);
 7 $str2=iconv('gb2312','utf-8',$str);
 8 
 9 preg_match('/<title>(.+)<\/title>/s',$str2,$ms);
10 echo "网站标题: {$ms[1]}";
11 ?>

 

 

 

 

 

 

 

 

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值