程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php中刪除文件用unlink函數權限判斷

php中刪除文件用unlink函數權限判斷

編輯:關於PHP編程

unlink函數在php中就是刪除文件的,但我們可以通過判斷文件是否有刪除權限,下面我來給大家簡單介紹一下unlink函數用法與權限判斷。

unlink($file)

例1

 代碼如下 復制代碼

<?php
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的關鍵代碼如下:

 代碼如下 復制代碼   <?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>";
             }
         ?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved