windows2003服务器,文件有读写权限,但以下php代码执行后无法写入,求救!
<?php
$ipfile="./user.txt";
if (get_magic_quotes_gpc()) {
if (!$fp = fopen($ipfile, "a+")) {
// die("创建在线列表文件失败, 请检查是否有权限.");
}
$time=time();
$line = $username."|".$REMOTE_ADDR."|".$time."\r\n";
$old=file($ipfile);
$num=count($old);
$fp=fopen($ipfile, "w");
flock($fp,2);
if($num<2500){
fputs($fp,$line);
for ($i=0;$i<$num;$i++){
fputs($fp,$old[$i]);
}}else{
fputs($fp,$line);
for($i=0;$i<2499;$i++){
fputs($fp,$old[$i]);
}}
fclose($fp);
}
?>
================执行以上在该服务器上无法写入,但在其它服务器空间可以正确运行写入,不知是不是服务器中php.ini哪项没有打开造成的?=================
同样执行以下文件测试该服务器有没有写入权限,以下php文件又能正确执行并写入数据的,请教为什么上面的执行无法写入。
<?php
$filename = "user.txt";
$contents = "我是张斌";
if(is_writable($filename)){
if(($handle = fopen($filename,"a") )== false){
echo "写入文件 $filename 失败";
exit();
}
if(fwrite($handle,$contents) == false){
echo "写入文件$filename失败";
exit();
}
echo "写入文件 $filename 成功";
fclose($handle);
}else{
echo "文件$filename不可写入";
}
?>
[解决办法]
如果是 IIS 那么需要在管理器中勾选“写入”
如果不是,则应检查一般用户是否有写权限
相关的文件夹还需勾选“高级”中的“允许存档”