zoukankan      html  css  js  c++  java
  • 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 ?>
     
  • 相关阅读:
    4 Apr 18 软件开发目录 logging模块的使用 序列化(Json, Pickle) os模块
    3 Apr 18 内置函数 列表生成式与生成器表达式 模块的使用之import 模块的使用之from…import…
    2 Apr 18 三元表达式 函数递归 匿名函数 内置函数
    30 Mar 18 迭代器 生成器 面向过程的编程
    29 Mar 18 函数 有参、无参装饰器
    28 Mar 18 函数
    27 Mar 18 函数的参数
    26 Mar 18 函数介绍
    23 Mar 18 文件处理
    22 Mar 18 补充数据类型+字符编码+文件处理
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9300380.html
Copyright © 2011-2022 走看看