Heim  >  Artikel  >  Backend-Entwicklung  >  windows2003服务器,文件有读写权限,但以下php代码执行后无法写入,求救!

windows2003服务器,文件有读写权限,但以下php代码执行后无法写入,求救!

WBOY
WBOYOriginal
2016-06-23 14:11:051265Durchsuche

 $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  fputs($fp,$line);
 for ($i=0;$i  fputs($fp,$old[$i]);
 }}else{
 fputs($fp,$line);
 for($i=0;$i  fputs($fp,$old[$i]);
 }}
 fclose($fp);
}
?>

================执行以上在该服务器上无法写入,但 在其它服务器空间可以正确运行写入,不知是不是服务器中php.ini哪项没有打开造成的?=================

同样执行以下文件测试该服务器有没有写入权限,以下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不可写入";
   }
?>


回复讨论(解决方案)

$ipfile="./user.txt";
另一个是
$filename = "user.txt";

怀疑已经写进去了,只是写到别的位置上去了

如果是 IIS 那么需要在管理器中勾选“写入”
如果不是,则应检查一般用户是否有写权限

相关的文件夹还需勾选“高级”中的“允许存档”

不是这原因,同样的代码,在另一台服务器空间中正确运行,这台服务器就不行,应该是服务器哪个设置有问题,读写权限已开了

如果是 IIS 那么需要在管理器中勾选“写入”
如果不是,则应检查一般用户是否有写权限

相关的文件夹还需勾选“高级”中的“允许存档”

这台服务器上可以执行删除,是不是说明已有读写权限?另外如果说没读写权限,发的 第二段代码可以写入的啊,就是第一段代码写入不了,下面这段删除代码也能正确执行的:

if($del=="1"){//删除
 $old=file("$ipfile");
 $num=count($old);
 $fp=fopen("$ipfile","w");
  $no=$num-1;
  
 for ($i=0;$i  list($usre,$ip,$time)=explode("|",$old[$i]);
 if($txtzzip!=$jilu){ fputs($fp,$old[$i]); }
 }
 fclose($fp);
}

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:mysql group by问题Nächster Artikel:求大家推荐两本书