国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

php檢測(cè)文件屬性函數(shù)

有些同學(xué)特別好奇,檢測(cè)文件屬性用在什么地方。檢測(cè)文件屬性能用到的地方太多了。

我們來(lái)舉例子:

    1.我們?cè)谧鲕浖惭b的時(shí)候,大家會(huì)發(fā)現(xiàn)如果文件存在了,就跳轉(zhuǎn)到了其他的地方。

    2.如果在安裝的過(guò)程當(dāng)中,某些文件沒(méi)有寫(xiě)入權(quán)限,就不讓進(jìn)行安裝。

我們來(lái)舉一個(gè)國(guó)內(nèi)非常出名的軟件,discuz的安裝過(guò)程截圖給大家看看:

document_2015-09-07_55eda1ec1ab58.png

上面的例子,就是典型的文件檢測(cè)的用法。

我們來(lái)學(xué)習(xí)一下下面的一批函數(shù)。然后,我們來(lái)通過(guò)一個(gè)例子進(jìn)行學(xué)習(xí)。

    bool file_exists ( $指定文件名或者文件路徑)
    功能:文件是否存在。

    bool is_readable ( $指定文件名或者文件路徑)
    功能:文件是否可讀

    bool is_writeable ( $指定文件名或者文件路徑)
    功能:文件是否可寫(xiě)

    bool is_executable ( $指定文件名或者文件路徑)
    功能:文件是否可執(zhí)行

    bool is_file ( $指定文件名或者文件路徑)
    功能:是否是文件

    bool is_dir ( $指定文件名或者文件路徑)
    功能:是否是目錄

    void clearstatcache ( void )
    功能:清楚文件的狀態(tài)緩存

上面的功能一看就清楚了。那實(shí)驗(yàn),我們就來(lái)寫(xiě)這個(gè)最開(kāi)始我們舉的這個(gè)例子。

我們來(lái)講第一個(gè)例子,文件鎖。如果已經(jīng)安裝了,存在安裝鎖就提示已安裝,否則就繼續(xù)安裝。

我們假設(shè)安裝界面的網(wǎng)址是:install.php,安裝的鎖文件是install.lock。我們就可以檢測(cè)install.lock文件是否存在。

<?php

if(file_exists('install.lock')){

   echo '已安裝,請(qǐng)不要再次進(jìn)行安裝';
   exit;

}
?>

我們接下來(lái)做一個(gè)文件安裝檢測(cè)的實(shí)驗(yàn)來(lái)檢測(cè)文件或目錄是否有寫(xiě)入或者讀取權(quán)限。如果沒(méi)有則不能進(jìn)行安裝。

處理這件事情的思路如下:

    1.定義一批需要檢測(cè)權(quán)限的數(shù)組

    2.可以檢測(cè)是文件夾還是文件

    3.做一個(gè)標(biāo)置位變量,如果標(biāo)置位變量一旦為false則不顯示下一步的安裝

<?php

//可以定義一批文件是否存在
$files = [
   'config.php',
   'img/',
   'uploads/',
];

//定義標(biāo)志位變量
$flag = true;
foreach($files as  $v){
   echo $v;

   //判斷是文件還是文件夾

   if(is_file($v)){
       echo '是一個(gè)文件&nbsp;&nbsp;&nbsp;&nbsp;';
   }else if(is_dir($v)){
       echo '是一個(gè)文件夾&nbsp;&nbsp;&nbsp;&nbsp;';
   }

   if(is_readable($v)){
       echo ' 可讀';
   }else{
        echo '<font color="red">不可讀</font>';
   }

   if(is_writeable($v)){
       echo '可寫(xiě)';
   }else{
       echo '<font color="red">不可寫(xiě)</font>';
   }

   echo '<br />';
}

if($flag){
   echo '<a href="step1">下一步</a>';

}else{
    echo '不能進(jìn)行安裝';
}
?>

通過(guò)上面的例子,我們就做到了。實(shí)現(xiàn)PHP某個(gè)軟件安裝過(guò)程當(dāng)中的安裝檢測(cè)。

也就是我們上面思路的實(shí)現(xiàn)。


Weiter lernen
||
<?php //可以定義一批文件是否存在 $files = [ 'config.php', 'img/', 'uploads/', ]; //定義標(biāo)志位變量 $flag = true; foreach($files as $v){ echo $v; //判斷是文件還是文件夾 if(is_file($v)){ echo '是一個(gè)文件    '; }else if(is_dir($v)){ echo '是一個(gè)文件夾    '; } if(is_readable($v)){ echo ' 可讀'; }else{ echo '<font color="red">不可讀</font>'; } if(is_writeable($v)){ echo '可寫(xiě)'; }else{ echo '<font color="red">不可寫(xiě)</font>'; } echo '<br />'; } if($flag){ echo '<a href="step1">下一步</a>'; }else{ echo '不能進(jìn)行安裝'; } ?>
einreichenCode zurücksetzen