Maison >php教程 >php手册 >php中删除文件用unlink函数权限判断

php中删除文件用unlink函数权限判断

WBOY
WBOYoriginal
2016-06-13 10:02:251919parcourir

unlink函数在php中就是删除文件的,但我们可以通过判断文件是否有删除权限,下面我来给大家简单介绍一下unlink函数用法与权限判断。

unlink($file)

例1

 代码如下 复制代码

unlink($somefile)
 or die("Cannot delete file.")
?>

有时会出现权限问题,对文件有写权限,但是无法删除。

原因很简单,删除文件不是对文件的修改,而是修改目录,需要对文件所在目录有写权

 判断文件是否具备读权限应用的是is_readable()函数,判断文件是否具备写权限应用的是is_writable()函数。is_readable()函数,判断指定文件是否可读,语法如下:
  bool is_readable(string filename)
  如果文件存在并且可读则返回TRUE。
  is_writable()函数,判断指定文件是否可写,语法如下:
  bool is_writable(string filename)
  如果文件存在并且可写则返回TRUE。参数filename可以是一个允许进行是否可写检查的目录名。
注意:PHP也许只能以运行webserver的用户名(通常为'nobody')来访问文件。不计入安全模式的限制。对文件权限的判断,是对文件进行操作的前提,特别是在执行文件的读取、写入、重命名等操作时,如果文件不具备备读、写的权限,那么这些操作是没有任何意义的。
设计过程
  (1)创建index.php文件。
  (2)添加表单,设置文本框,提交指定文件,设置文件域,提交写入文件中的数据,设置提交按钮,使用POST方法,将数据提交到本页。
  (3)通过$_POST[]方法获取表单提交的文件路径和文件内容,并通过iconv()函数对获取的数据进行编码转换。首先,判断指定的文件是否存在。然后,判断指定的文件是否具备写的权限,如果具备,则将表单提交的文件内容写入到文件中。最后,关闭打开的文件,给出提示信息。index.php的关键代码如下:

 代码如下 复制代码
         if($_POST['file_name']!=""&& is_file(iconv("utf-8","gb2312",$_POST['file_name']))==true){   //判断文件是否存在
               $file_name=iconv("utf-8","gb2312",$_POST['file_name']);                             //编码转换
               if(file_exists($file_name)){
               if(is_writable($file_name)){        //判断文件是否具备写的权限
                     $fp=fopen($file_name,"w+");                  //打开指定的文件
                     if(fwrite($fp,$file_content)){                       //执行写入的操作
                          echo"<script>alert('文件写入成功!');</script>";
                     }else{
                          echo"<script>alert('文件写入失败!');</script>";
                     }
                     fclose($fp);                            //关闭文件
                 }else if(is_readable($file_name)){          //判断文件是否具备读的权限
                      echo"<script>alert('文件只具备读权限!');</script>";
                 }else{
                          echo"<script>alert('文件不具备读、写权限!');</script>";
                     }
                 }else{
                      echo"<script>alert('文件不存在!');</script>";
                 }
             }else{
                   echo"<script>alert('请输入正确的文件路径!');</script>";
             }
         ?>
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn