コード例 #1
0
  function privDirCheck($p_dir, $p_is_dir=false)
  {
    $v_result = 1;

    PclTraceFctStart(__FILE__, __LINE__, "PclZip::privDirCheck", "entry='$p_dir', is_dir='".($p_is_dir?"true":"false")."'");

    // ----- Remove the final '/'
    if (($p_is_dir) && (substr($p_dir, -1)=='/'))
    {
      $p_dir = substr($p_dir, 0, strlen($p_dir)-1);
    }
    PclTraceFctMessage(__FILE__, __LINE__, 3, "Looking for entry '$p_dir'");

    // ----- Check the directory availability
    if ((is_dir($p_dir)) || ($p_dir == ""))
    {
      PclTraceFctEnd(__FILE__, __LINE__, "'$p_dir' is a directory");
      return 1;
    }

    // ----- Extract parent directory
    $p_parent_dir = dirname($p_dir);
    PclTraceFctMessage(__FILE__, __LINE__, 3, "Parent directory is '$p_parent_dir'");

    // ----- Just a check
    if ($p_parent_dir != $p_dir)
    {
      // ----- Look for parent directory
      if ($p_parent_dir != "")
      {
        if (($v_result = $this->privDirCheck($p_parent_dir)) != 1)
        {
          PclTraceFctEnd(__FILE__, __LINE__, $v_result);
          return $v_result;
        }
      }
    }

    // ----- Create the directory
    PclTraceFctMessage(__FILE__, __LINE__, 3, "Create directory '$p_dir'");
    if (!@mkdir($p_dir, 0777))
    {
      // ----- Error log
      PclErrorLog(-8, "Unable to create directory '$p_dir'");

      // ----- Return
      PclTraceFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString());
      return PclErrorCode();
    }

    // ----- Return
    PclTraceFctEnd(__FILE__, __LINE__, $v_result, "Directory '$p_dir' created");
    return $v_result;
  }
コード例 #2
0
ファイル: pcltar.lib.php プロジェクト: chegestar/catroxs
 function PclTarHandleExtension($p_tarname)
 {
     TrFctStart(__FILE__, __LINE__, "PclTarHandleExtension", "tar={$p_tarname}");
     // ----- Look for file extension
     if (substr($p_tarname, -7) == ".tar.gz" || substr($p_tarname, -4) == ".tgz") {
         TrFctMessage(__FILE__, __LINE__, 2, "Archive is a gzip tar");
         $v_tar_mode = "tgz";
     } else {
         if (substr($p_tarname, -4) == ".tar") {
             TrFctMessage(__FILE__, __LINE__, 2, "Archive is a tar");
             $v_tar_mode = "tar";
         } else {
             // ----- Error log
             PclErrorLog(-9, "Invalid archive extension");
             TrFctMessage(__FILE__, __LINE__, PclErrorCode(), PclErrorString());
             $v_tar_mode = "";
         }
     }
     // ----- Return
     TrFctEnd(__FILE__, __LINE__, $v_tar_mode);
     return $v_tar_mode;
 }
コード例 #3
0
ファイル: pcltar.lib.php プロジェクト: klr2003/sourceread
 function PclTarHandleExtension($p_tarname)
 {
     TrFctStart(__FILE__, __LINE__, "PclTarHandleExtension", "tar={$p_tarname}");
     // ----- Look for file extension
     // NET2FTP
     // This is because net2ftp adds a .txt extension to all uploaded files while they reside on the *web* server
     $p_tarname = substr($p_tarname, 0, strlen($p_tarname) - 4);
     if (substr($p_tarname, -7) == ".tar.gz" || substr($p_tarname, -4) == ".tgz") {
         TrFctMessage(__FILE__, __LINE__, 2, "Archive is a gzip tar");
         $v_tar_mode = "tgz";
     } else {
         if (substr($p_tarname, -4) == ".tar") {
             TrFctMessage(__FILE__, __LINE__, 2, "Archive is a tar");
             $v_tar_mode = "tar";
         } else {
             // ----- Error log
             PclErrorLog(-9, "Invalid archive extension");
             TrFctMessage(__FILE__, __LINE__, PclErrorCode(), PclErrorString());
             $v_tar_mode = "";
         }
     }
     // ----- Return
     TrFctEnd(__FILE__, __LINE__, $v_tar_mode);
     return $v_tar_mode;
 }