php fopen fputs 的蛋疼问题

2015-10-03 23:56:46 +08:00
 m939594960

这个问题遇到很多次了以前一直 凑活着解决。。

但是今天我实在是忍无可忍 就来万能的 V2EX 问问

程序是帝国的程序 主要问题就是 更改这个 config.php 文件时不生效 主要代码在下面

$fp=@fopen('D:/upupw_5.4/vhosts/www.tupian.com/e/config/config.php',"w");
var_dump(error_get_last());
@fputs($fp,$string);
@fclose($fp);

这个 config.php 就是无法更改 输出$fp 是有返回值的!
我打印了一下错误
是这样的

array(4) { ["type"]=> int(2) ["message"]=> string(102) "fopen(D:/upupw_5.4/vhosts/www.tupina.com/e/config/config.php): failed to open stream: Invalid argument" ["file"]=> string(54) "D:\upupw_5.4\vhosts\www.tupina.com\e\class\connect.php" ["line"]=> int(1406) }

但是奇怪的问题就是 我吧 config.php 换成 config1.php 就会正常

我试过重新创建 config.php 也是不行的

关于权限问题 我已经仔细看了 应该是没有问题的!

这个问题只出现在 windows ( upupw 集成 PHP 环境)上 这个东西传到 linux 服务器上没有任何问题
同样的问题出现在另一台电脑的 织梦上 代码应该是肯定没有问题的

2709 次点击
所在节点    PHP
13 条回复
yxwzaxns
2015-10-04 00:12:46 +08:00
你确定这东西传到 linux 上能用?
m939594960
2015-10-04 00:15:51 +08:00
@yxwzaxns 地址那部分是参数。。 我只是暂时替换一下
yxwzaxns
2015-10-04 00:18:49 +08:00
截图吧,把$fp 打印出来,
m939594960
2015-10-04 00:21:39 +08:00
@yxwzaxns 就一句啊。。。 resource(24) of type (stream)
m939594960
2015-10-04 00:27:36 +08:00
@m939594960 刚才又测试一下 发现 fopen 不返回值了。。。
towser
2015-10-04 01:42:53 +08:00
错误抑制符去掉,什么坏毛病。
msg7086
2015-10-04 02:21:59 +08:00
首先,你先要学会怎么写 PHP 代码。
takashiki
2015-10-04 07:18:20 +08:00
是不是权限问题
cxbig
2015-10-04 08:55:21 +08:00
先把 @全部去掉,最坏的习惯之一。
m939594960
2015-10-04 11:47:28 +08:00
@msg7086 @towser @cxbig 这个是帝国 CMS (中国里面比较有名的 CMS ) 里面的代码 我自己写的代码肯定不会这样拉
m939594960
2015-10-04 11:48:13 +08:00
@takashiki 我也怀疑是权限问题。。 但是重新创建个 cofig1.php 就行。 我删除 config.php 重新建立一下也不行
towser
2015-10-04 14:44:30 +08:00
@m939594960 是帝国,王猛不容易,不黑他。
msg7086
2015-10-05 00:51:25 +08:00
@m939594960 恶狠狠地重写掉……(

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/225478

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX