PHP学习笔记——文件操作

来源:互联网 发布:淘宝上买中药材可靠吗 编辑:程序博客网 时间:2024/05/17 22:23

  开门见山,直接上题!

  用户输入两个字符串,程序将这两个字符串保存到一个文件中,并且显示统计该文件大小,里面的内容和行数

  代码如下:

  

<?php/*将用户输入的名字保存在在文件中,并显示和提取出来,并能够统计文件大小和文件行数*/if($fp=fopen("name.txt","a") or die("Save error!")){  //追加方式打开文件,如果打开文件失败则退出该脚本    if(isset($_POST['name'])){                      //表单有传值的话      if($_POST['name'][0] !="")                    //表单第一个内容不为空      fputs($fp,$_POST['name'][0]."\n");           //写到文件中      if($_POST['name'][1] !="")                     //表单第二个内容不为空      fputs($fp,$_POST['name'][1]."\n");             //写到文件中    }    fclose($fp);                                     //关闭文件}?><html>   <form action="<?php echo $_SERVER['PHP_SELF']?>" method="POST">    //表单内容提交给自己处理      <fieldset>          <legend>请输入姓名1和姓名2</legend><br />          姓名1:          <input type="text" name="name[]"/>                          //第一个字符串          <br />          姓名2:          <input type="text" name="name[]"/>                          //第二个字符串          <br />          <br />          <button name="submit" type="submit" value="submit">提交</button>    //提交      </fieldset>   </form>   <br />   <hr />   <h3>显示结果如下:</h3><?php    $size=filesize("name.txt");                                    //统计文件大小   if($fp=fopen("name.txt","r") or die("open error!")){           //以读取方式的打开文件,打开失败则退出该脚本      echo "File size is ".$size." bytes"."<br/>";                //输出文件大小      echo "file list:"."<br/>";                                       $lines=0;                                            //行数      while(!feof($fp)){        $input=fgets($fp);                              //得到文件一行内容                          $lines+=1;                                      //行数自+1                              echo $input."<br/>";                            //输出文件内容                          }      $lines-=1;                             //因为最后一行有换行,所以我们有效行数要减1      echo "Total lines :$lines";            //输出行数      fclose($fp);                             //关闭文件      }?></html>

运行效果如下:

输入test1  和  test 2



得到运行结果:


其中运行结果包括这个文件之前已经保存的内容和我们新加的内容,以及文件大小和行数


那假如我们输入空的字符串会怎么样呢?

由我们的代码

 if($_POST['name'][0] !="")                    //表单第一个内容不为空
      fputs($fp,$_POST['name'][0]."\n");           //写到文件中
      if($_POST['name'][1] !="")                     //表单第二个内容不为空
      fputs($fp,$_POST['name'][1]."\n");             //写到文件中

如果有空的字符串,系统是不写入到文件中的。但是我们如果输入连续空格的的字符串呢?

结果是这样的:


通过结果我们可以看到,空格已经写入到文件中,并且被当做一行被统计。

如果我们不想将一整行的空格写入到文件中,我们可以使用函数ctype_space()判断是否全部为空格,为false才写到文件中。

(PS:由于网站挂在linux服务器上,我们要读取的文件被创建时可能不具备r权限,为了让我们文件可以正确被使用,我们可以对我们的文件进行修改为777或者766的权限。啊,什么?还要这么麻烦啊~~~~~额,这个跟环境的配置的有关,我也说不准呢,我也没办法。不过我可以告诉那条命令怎么写,就是 chmod 777 文件名)

So easy!

测试网站:http://www.beartracker.top/file_operation.php欢迎各位提出建议^_^




0 0
原创粉丝点击