科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件PHP函数is_writeable非常奇怪的行为

PHP函数is_writeable非常奇怪的行为

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

PHP函数is_writeable非常奇怪的行为。

作者:为梦而生 来源:CSDN 2008年3月28日

关键字: 行为 函数 PHP Web开发 软件

  • 评论
  • 分享微博
  • 分享邮件

我写的PHP代码如下:testfile.php

<?php
    $writeok = array("uploads/", "cache/", "templates_c/", "mainfile.php");
    $title = "test file php";
    $content = "<table align='center'><tr><td align='left'>\n";
    $error = false;
    foreach ($writeok as $wok) {
            echo "<br />"."../".$wok."<br />";
          echo fileowner("../".$wok)."<br />";
          echo filegroup("../".$wok)."<br />";
      echo fileowner("../".$wok)."<br />";
      echo substr(sprintf('%o', fileperms("../".$wok)), -4)."<br />";
          echo filetype("../".$wok)."<br />";
          
        if (!is_dir("../".$wok)) {

          
            if ( file_exists("../".$wok) ) {
        @chgrp("../".$wok, fileowner("../".$wok));
                @chmod("../".$wok, 0666);
                if (is_writeable("../".$wok)==false) {
                    $content .= "file ".$wok." is not writeable"."<br />";
                    $error = true;
                  
                }else{
                    $content .=  "file ".$wok."  is  writeable"."<br />";
                }
                if (!is_readable("../".$wok)) {
                    $content .= "file ".$wok."  is not readable"."<br />";
                    $error = true;
                  
                }else{
                    $content .=  "file ".$wok."  is  readable"."<br />";
                }
               
            }
        } else {
      @chgrp("../".$wok, fileowner("../".$wok));
            @chmod("../".$wok, 0777);
            if (!is_writeable("../".$wok)) {
                $content .=  "dir ".$wok." is not writeable"."<br />";
                $error = true;
               
            }else{
                $content .=   "dir ".$wok."is writeable"."<br />";
            }
            if (!is_readable("../".$wok)) {
                $content .= "dir ".$wok." is not readable"."<br />";
                $error = true;
                  
            }else{
                    $content .=  "dir ".$wok." is  readable"."<br />";
            }           
        }
    }
    $content .= "</td></tr></table>\n";

    if(! $error) {
        $content .= "<p>"."not error"."</p>";
       
       
    }else{
        $content .= "<p>"." error "."</p>";
       
    }

    echo $content;

    ?>

 

可是执行结果非常奇怪:

../uploads/
0
0
0
0777
dir

../cache/
0
0
0
0777
dir

../templates_c/
0
0
0
0777
dir

../mainfile.php
0
0
0
0666
file

dir uploads/ is not writeable
dir uploads/ is readable
dir cache/ is not writeable
dir cache/ is readable
dir templates_c/ is not writeable
dir templates_c/ is readable
file mainfile.php is not writeable
file mainfile.php is readable

error

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章