仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1954|回复: 19
打印 上一主题 下一主题

[学习教程] PHP教程之PHP静态网站制造中关于文件操作的疑问问...

[复制链接]
小魔女 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:01:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我想在讲述自己的学习方式前,对那些期望能从我的文章中获得有用信息的人说一句心里话:   <P>媒介:   PHP中对各类数据库的操作有着撑持,对文件的操作也一样有着很丰厚的操作办法,良多伴侣如今的操作仍是基于文件操作可是有的时分在操作文件的时分还存在很多的猜疑和疑点,以下是我在平常编写过程当中碰着的和坛上伴侣所碰着的关于文件操作的一些成绩保藏吧。
  问:若何新建一个文件?
  答:
  1、利用fopen(要创立的文件名,参数),参数可选w,w+,a,a+
  2、利用exec(echo '' > 要创立的文件名);如许是利用体系体例创立这个文件,你还可使用touch这个linux号令来创立
  问:为何我没法创立文件?
  答:
  1、假如你利用了fopen创立文件,是不是准确的利用了参数
  2、体系权限成绩,请扣问你的WEBMASTER你的FTP目次是不是有写的权限
  3、FTP权限成绩,你要确认你的PHP文件所要写文件地点目次要有写的权限,也就是你的FTP软件上岸后other组要有写这个权限,
假如没有请修正权限后测验考试
  问:若何将文件读入数组?
  答:利用file函数
  问:若何将文件全体读出?
  答:
 
  1、利用fread($fp);
  2、假如你的PHP版本>=4.3.0的话可使用file_get_contents();
  问:若何判别文件是不是存在?
  答:利用file_exists();
  再问:为何不利用fopen()来判别呢?
  答:缘由是有时分是由于权限成绩招致fopen前往的数据引诱咱们毛病的判别
  问:为何当我读取一个WEB页面的时分失足?
  答:
  1、多是你的传递参数错,当读取WEB页面的时分你只可使用r体例读取页面
  2、确保你要读取的WEB页面可以会见
  问:我若何才干取得文件的相干属性?
  答:PHP供应了一组取得文件属性的办法,例如 filemtime(),fileowner(),filegroup(),filectime(),fileatime()...具体的利用请参阅手册。
  问:PHP翻开文件后是不是可以象C一样停止文件“游标”的定位呢?
  答:可以的,利用fseek();
  问:我想在会见文件的时分不答应其别人也会见此文件,怎样办?
  答:
  1、你可以采取其他方面法式限制用户接入文件操作的页面
  2、利用flock();具体的参数和利用办法请参阅手册
  问:若何删除文件内第一行,或指定一行数据?
  答:
  PHP并没有供应如许的操作办法,不外咱们可以经由过程组合利用,以下代码演示咱们将删除文件test.dat中的第三行数据(test.dat 文件中数据不止三行)
<?php
 $filename=test.dat;//界说操作文件
 $delline=3; //要删除的行数
 if(!file_exsits($filename)){
  die(指定文件未发明!操作中止!);
 }
 $farray=file($filename);//读取文件数据到数组中
 for($tmpa=0;$Tmpa<count($farray);$Tmpa++){
  if(strcmp($Tmpa+1,$delline)==0){
   //判别删除的行
   continue;
  }
  //从头收拾整顿后的数据
  $newfp.=$farray[$Tmpa].\\r\\n;
 }
 $fp=@fopen($filename,a) or die(写体例翻开文件 $filename 掉败);//咱们以写的体例翻开文件
 @fputs($fp,$newfp) or die(文件写入掉败);
 @fclose($fp);
?>
  以上代码演示的是删除一行文件,不外你假如细心的看的话,其实也给你供应了其他的文件操作的相干提示~
  问:当我试图翻开一个不存在的文件的时分,我若何不让毛病显示出来以免我的途径泄漏!!
  答:在你要翻开文件的办法前增添@符号用来屏障毛病,@是PHP供应的毛病信息屏障的公用符号或您可以在这个要操作的步调前增添(凡是是在页首)error_reporting(0);用来屏障页面内一切毛病信息的显示一个不保举的办法就是去修正php.ini(ISP除外)。
  问:我利用的是虚拟主机,我若何避免其他用户盗取我的数据?
  答:建议ISP修正php.ini中的open_basedir停止限制,不保举的ISP设置是将fopen,file等文件操作到场disable_function中。
  问:为何我用PHP创立文件后我FTP上岸要删除这些文件没法删除??
  答:次要是由于PHP创立的文件归属WEB用户组,也就是创立的文件,并不是是你FTP用户的!!!这个成绩的处理就是,利用PHP法式的chmod,unlink等体例停止处置,建议用户在利用PHP创立文件的时分记得chmod文件权限,建议为777
  问:若何利用文本文件作为数据仓库?有的留言本,服装论坛之类的都是利用这个的啊!
  答:其实这个次要仍是利用了file,联合explode停止数据读取与朋分的典范典范罢了。
  问:若何更改文件名?
  答:rename();
  问:若何删除文件?
  答:unlink(); exec(del(rm -vf) filename);
  注:rm -vf为linux下利用
  问:若何清空文件?
  答:利用fopen(filename,w);或exec(echo '' > filename);
  问:若何编纂文件内容?
  答:我记得我之前回覆过一个删除文件内容的,其实编纂内容在删除内容的基本上,停止变量交换就能够了。但愿你可以向上找找,将我下面的continue修正为交换变量数据就能够了。
在学习HTML中我想边学边做是最有效的方式,当然这一方式对于学习PHP同样是最有效的。
蒙在股里 该用户已被删除
沙发
发表于 2015-2-4 08:02:41 | 只看该作者
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
冷月葬花魂 该用户已被删除
板凳
发表于 2015-2-9 19:44:46 | 只看该作者
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
地板
发表于 2015-2-27 19:14:44 | 只看该作者
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
若相依 该用户已被删除
5#
发表于 2015-3-9 11:11:30 | 只看该作者
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
老尸 该用户已被删除
6#
发表于 2015-3-16 21:51:18 | 只看该作者
我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。
灵魂腐蚀 该用户已被删除
7#
发表于 2015-3-23 04:04:10 | 只看该作者
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
变相怪杰 该用户已被删除
8#
发表于 2015-3-30 14:29:13 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
第二个灵魂 该用户已被删除
9#
发表于 2015-4-3 21:19:10 | 只看该作者
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
若天明 该用户已被删除
10#
发表于 2015-4-12 15:11:16 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
莫相离 该用户已被删除
11#
发表于 2015-4-20 16:10:01 | 只看该作者
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
不帅 该用户已被删除
12#
发表于 2015-6-16 23:59:58 | 只看该作者
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
只想知道 该用户已被删除
13#
发表于 2015-6-19 03:04:50 | 只看该作者
因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax
小妖女 该用户已被删除
14#
发表于 2015-7-9 20:44:42 | 只看该作者
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
小魔女 该用户已被删除
15#
 楼主| 发表于 2015-7-12 06:40:11 | 只看该作者
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
透明 该用户已被删除
16#
发表于 2015-7-13 19:39:23 | 只看该作者
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
简单生活 该用户已被删除
17#
发表于 2015-7-17 12:42:38 | 只看该作者
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
愤怒的大鸟 该用户已被删除
18#
发表于 2015-7-24 00:34:39 | 只看该作者
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
乐观 该用户已被删除
19#
发表于 2015-7-26 06:29:46 | 只看该作者
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
飘灵儿 该用户已被删除
20#
发表于 2015-7-28 10:35:11 | 只看该作者
作为一个合格的coder 编码的规范是必须,命名方面我推崇“驼峰法”,另外就是自己写的代码最好要带注释,不然时间长了,就算是自己的代码估计看起来都费事,更不用说别人拉。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-2 01:05

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表