冷月葬花魂 发表于 2015-2-3 23:32:01

PHP网页编程之PHP file_exists有多坑人

会HTML吗?会,我能编好几个大表格排板的网页啦!      我发明了一个成绩,明天与人人分享。我把全部进程描写一下。
  成绩
  公司有个框架是基于smarty写的,我担任php的晋级,保护人员把新情况布下去以后,测试人员找我提出常常报错(毛病:提醒找不到文件的)。我追踪了一下代码,本来是smarty的这个中央报的毛病。


  毛病:这里报出文件不存在。
  思虑进程:
  1、我原觉得是法式里没有这个文件呢,了局发明,文件是有的,那是怎样回事?
  2、后来我再猜是否是php内核有成绩,我把php的相干内核文件看了一遍,也没发明成绩。了局我就把全部进程跟项目司理说去了。——工作也没处理,就如许先不了了之。晋级的工作先延误着。
  明天又发明这个成绩,我第一反响是php版本是否是晋级了,发明没有。——后来把全部目次设置成777就没事了(chmod 777 -R 目次)。我想是否是file_exists()办法成绩。
  所以,我就停止了相干的调试和实行。


  调试进程
  调试代码:


  目次:


  察看各个权限:test对www是没有任何权限的,而履行文件index.php有读写履行权限,包括文件test.txt有读写权限。


  运转了局:


   
  


  目次的履行权限影响file_exists()
  1、给test一个最大的权限——755






  既然胜利了,申明file_exists()函数是受目次权限的限制的。
  那甚么样的目次权限影响file_exists()呢?
  我做了几个实行:
  1、文件的任何下级目次,只要写权限时报文件不存在;
  2、文件的任何下级目次,只要读权限时也报文件不存在;
  3、而当一切下级目次都有履行权限的时分,报文件是存在的,一切都正常。
  了局,申明file_exists()在判别文件是不是存在的时分是递归判别每一个目次是否是有履行权限。
  修正文件途径为绝对途径,得出一样的了局。




  总结
  在php手册上并没有提到,file_exists会受目次的履行权限影响。今经由过程此文告诉那些也有这方面成绩的开辟者。仅以此为戒。
  附加信息
  感激人人留的言,十分有效。经由人人的定见我再查了下手册,的确,假如目次没有履行权限,php-fpm使用历程就不克不及到这个目次上面去停止文件搜刮,固然就以为文件不存在(实践是以为没有可履行的目次是不存在的)。
  手册内容,人人可以一同推敲一下,次要是履行权限。在这里就不详谈读写权限了(普通都很好了解)。


  分明手册中,对目次的履行权限有明白的唆使。对目次的履行权限,就是具有被搜刮的权力。


  原文链接:http://www.cnblogs.com/baochuan/archive/2012/05/06/2445822.html
小试一下身手,大概是没问题了,那么交给你个任务,做个留言本吧,这和HELLO WORLD有一比啊!^_^,同是新手面临的第一道关。

谁可相欹 发表于 2015-2-4 01:26:43

当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,

不帅 发表于 2015-2-6 13:03:29

装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。

海妖 发表于 2015-2-7 16:25:54

当然这种网站的会员费就几十块钱。

柔情似水 发表于 2015-2-8 17:46:44

最后祝愿,php会给你带来快乐的同时 你也会给他带来快乐。

飘飘悠悠 发表于 2015-2-18 11:33:27

基础有没有对学习php没有太大区别,关键是兴趣。

愤怒的大鸟 发表于 2015-3-6 04:53:13

建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。

再见西城 发表于 2015-3-11 19:50:54

小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。

兰色精灵 发表于 2015-3-19 19:17:39

真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,

飘灵儿 发表于 2015-3-20 12:40:27

我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。

爱飞 发表于 2015-3-21 05:19:59

学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。

蒙在股里 发表于 2015-3-25 01:08:02

实践是检验自己会不会的真理。

老尸 发表于 2015-3-27 02:56:48

多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。

因胸联盟 发表于 2015-4-6 04:49:55

要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。

精灵巫婆 发表于 2015-4-13 16:54:53

对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。

山那边是海 发表于 2015-4-14 16:51:12

兴趣是最好的老师,百度是最好的词典。

深爱那片海 发表于 2015-4-16 21:11:46

我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。

简单生活 发表于 2015-4-17 21:48:33

首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。

只想知道 发表于 2015-4-30 19:25:34

我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:

小妖女 发表于 2015-5-4 03:47:32

使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
页: [1]
查看完整版本: PHP网页编程之PHP file_exists有多坑人