/a.php 文件里里调用函数
s($lujin)而函数文件在 /hanshu/b.php里。function s(xsurl){
 $shengchenglujin="$xsurl/index.html";
    if(!$handle=fopen($shengchenglujin,'w')){
        echo $cuowu= $shengchenglujin.'路径不能写入';
        return $cuowu;
    }
    if(is_writable($shengchenglujin)){
        if(!fwrite($handle,$str)){
            echo $cuowu1='不能写入';
            return $cuowu1;        }else{//print"生成成功,";
            fclose($handle);} //把刚才替换的内容写进生成的HTML文件
    }else{echo "文件不可写";}
}a.php 执行后,提示文件不可写,,我就奇怪了。我mkdir可以,唯独文件创建就不可以。

解决方案 »

  1.   

    mkdir可以,并不代表他有写权限
    你需要检查一下目录的权限另外,你说得到“文件不可写”"的输出,这是不合理的
    如果目录不可写,那么 fopen($shengchenglujin,'w') 不会成功
    应该是输出“路径不能写入”请给出真实的代码
      

  2.   

     //创建目录
        $xsurl1="$xsurl";
        if(!file_exists($xsurl1)){
            mkdir($xsurl1);
            echo $xsurl1.'<br>';
        }
        $m="muban/muluye.html";
        /*if($fp=fopen($m,"r")){
        echo "不能打开!退出生成!";
        exit;
        }*/
        echo $m;
        if($fp=fopen($m,'r')){echo '打开目录模板失败';}
        $str=fread($fp,filesize($m));
        $str.=str_replace('{DCId}',$DCId,$str);//类别ID
        $str.=str_replace('{DCName}',$DCName,$str);//类名名称
       
        $shengchenglujin="/$xsurl/index.html";    if(!$handle=fopen($shengchenglujin,'w+')){
            echo $cuowu= $shengchenglujin.'路径不能写入';
            return $cuowu;
        }    if(is_writable($shengchenglujin)){
            if(!fwrite($handle,$str)){
                print $cuowu1=$shengchenglujin.'不能写入';
                return $cuowu1;        }else{//print"生成成功,";
                fclose($handle);} //把刚才替换的内容写进生成的HTML文件
        }else{echo "文件不可写";}
        fclose($handle);
        $mysqli->close();
      

  3.   

    muban/muluye.html打开目录模板失败/59/index.html路径不能写入
      

  4.   

    $xsurl1="$xsurl";
    $shengchenglujin="/$xsurl/index.html";
    为什么要多个“/”?
    那不是从文件系统根算起了吗?
      

  5.   


    $xsurl=1;数字也就是表的ID。使用/$xsurl/index.html
    是打算从根开始。
    生成为
    abc.com/1/index.html
    这样。
      

  6.   

    abc.com/1/index.html
    你这个是网站的根
    和文件系统的根,不是一回事!
      

  7.   


    现在  目录 1 。
    /1/可以生成出来。
    而在/1/下的index.html就生成不出来。是否使用x+ 模式fopen.?
      

  8.   

    搞定了。2个错误估计第一是路径问题 
    $shengchenglujin="/$xsurl/index.html";
    改成
    $shengchenglujin=$xsurl.'/index.html';
    第二   这个判断(!fwrite($handle,$str) 和
           (fwrite($handle,$str) === FALSE)  有什么区别,用后者他就可以,前者就不可以。