LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 510|回复: 4

使用fopen建文件的问题

[复制链接]
发表于 2005-4-17 15:16:10 | 显示全部楼层 |阅读模式
<?php
$file="11.txt";
if(!$file=fopen("11.txt","r")){
fopen("11.txt","w");
}
$xx=$name."#|".$tel."#|".date("Y-m-d h:i:s")."\n";
if($name&&$tel){
$file=fopen("11.txt","a");
fputs($file,$xx);
fclose($file);
}
?>
<table border=0 align=center>
<form action="" method=post>
<tr><td colspan=2 align=center>留言表</td></tr>
<tr><td align=right>姓名:</td>
<td><input type=text name=name></td></tr>
<tr><td align=right>电话:</td>
<td><input type=text name=tel></td></tr>
<tr><td align=center colspan=2><input type=submit value=提

交></td></tr>
</form>
</table>

<table align=center border=1>
<?php
if($file=fopen("11.txt",r)){
$fp=fopen($file,"r");
while(!feof($fp)){
$n=fgets($fp);    /*为什么要用这个读啊上面不是已经打开了嘛*/
$ary=explode("#|",$n);
?>
<tr><td><?php echo $ary[0];?></td>
<td><?php echo $ary[1];?></td>
<td><?php echo $ary[2];?></td>
</tr>
<?php
}
}
?>
</table>

上面的程序段在windows下运行时可以使用
if(!$file=fopen("11.txt","r")){
fopen("11.txt","w");
这一段来建立文件11.txt
但在linux运行的时候确创建不了
我是把这个程序段命令为40.php的
我LINUX下的WEB服务器是apache我自己手动编译的
服务器的目录是默认的htdoc
它的权限是root
我的apache的运行身份是nobody
我在htdoc下建立了一个新的目录2  把所有者及组给了nobody
#chown nobody.nobody 2

可是是我通过表单提交的东西
还是没有办法写入
但目录文件可以创建了
但内容无法被写入

这种情况我应该怎么处理呢?

以前都是在windows写的东西运行
也没有考试到这么多

谢谢大家了
 楼主| 发表于 2005-4-17 20:31:24 | 显示全部楼层
没有朋友看到这个贴子嘛
帮帮忙了
回复 支持 反对

使用道具 举报

发表于 2005-4-17 20:33:21 | 显示全部楼层
不要创建,读写的时候会自动创建。太乱了
回复 支持 反对

使用道具 举报

发表于 2005-4-18 10:28:45 | 显示全部楼层
应该是目录权限问题。把目录权限设成777试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-18 19:30:38 | 显示全部楼层
phphp兄弟我没有手工创建啊
是用代码创建的

这个问题已经解决了
我的VMware可能有点问题
后来到单位的服务器上实验就成了


Jansfer兄弟我感觉不应该改成777
600可以了
不然就太不安全了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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