在ubuntu上搭建了服务器,根目录为/var/www,使用php脚本在/var/www/html文件夹下生成了文件夹和文件,生成的格式是/var/www/html/123456/sss.html,生成后查看html文件夹的权限是www-data,我执行php的删除脚本的时候脚本也不提示错误,执行完脚本后看html文件夹,创建的文件并没有被删除。在系统里面删除也删除不掉,提示没有权限,我用sudo chmod 777 /var/www/html -R 设置权限后系统里面可以删除,但是php脚本一样删除不掉,再次用php脚本生成文件,权限依然是www-data(前面已经用sudo chmod 777 /var/www/html -R设置过权限)无法删除文件。
我第一次用linux系统,对系统不熟悉,希望高手帮忙给个解决办法,不要说让我先去学习使用系统,工作需要,学习可以以后学习,现在要尽快解决这个问题,程序在windows使用一切正常。路过的高手帮帮忙,谢谢了。

解决方案 »

  1.   

    生成文件时给予足够权限
    <?php
    mkdir ("/path/to/my/dir", 0777);
    ?> 
      

  2.   

    函数mkdir有两个参数,目录路径和访问权限
    例mkdir('/tmp/test',0777)
    然后要得到的权限码,不一定是上边设定的,当前系统的umask将会与设定的值‘与’,这样子才是真正的权限码,例如,如果umask为022,那码上边得到的权权限码为0755,没有写的权限
    所以如果我们想要真正的得到0777的权限,代码
    <?php
    $oldumask=umask(0);
    mkdir('test',0777);
    umask($oldumask);
    ?>
      

  3.   

    一般来讲用php生成的文件用户和组都是www-data 
    给了足够的权限应该是可以删除的
    你把建立和删除的代码贴出来看看
      

  4.   


    <?php
    $old=umask(0); 
    mkdir ("/path/to/my/dir", 0777);
    umask($old);
    ?>
      

  5.   

    chown root www 
    跟该用户组的权限 
      

  6.   

    沒用過ubuntu 的路過我玩的是centos 和 RHEL
      

  7.   

    你的PHP是用 unlink($filename)删除的吗?