function PclTarHandlerDirCheck($p_dir) { $v_result = 1; TrFctStart(__FILE__, __LINE__, "PclTarHandlerDirCheck", "{$p_dir}"); // ----- Check the directory availability if (is_dir($p_dir) || $p_dir == "") { TrFctEnd(__FILE__, __LINE__, "'{$p_dir}' is a directory"); return 1; } // ----- Look for file alone /* if (!strstr("$p_dir", "/")) { TrFctEnd(__FILE__, __LINE__, "'$p_dir' is a file with no directory"); return 1; } */ // ----- Extract parent directory $p_parent_dir = dirname($p_dir); TrFctMessage(__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 = PclTarHandlerDirCheck($p_parent_dir)) != 1) { TrFctEnd(__FILE__, __LINE__, $v_result); return $v_result; } } } // ----- Create the directory TrFctMessage(__FILE__, __LINE__, 3, "Create directory '{$p_dir}'"); if (!@mkdir($p_dir, 0777)) { // ----- Error log PclErrorLog(-8, "Unable to create directory '{$p_dir}'"); // ----- Return TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); return PclErrorCode(); } // ----- Return TrFctEnd(__FILE__, __LINE__, $v_result, "Directory '{$p_dir}' created"); return $v_result; }
function PclTarHandlerDirCheck($p_dir) { $v_result = 1; TrFctStart(__FILE__, __LINE__, "PclTarHandlerDirCheck", "{$p_dir}"); if (is_dir($p_dir) || $p_dir == "") { TrFctEnd(__FILE__, __LINE__, "'{$p_dir}' is a directory"); return 1; } $p_parent_dir = dirname($p_dir); TrFctMessage(__FILE__, __LINE__, 3, "Parent directory is '{$p_parent_dir}'"); if ($p_parent_dir != $p_dir) { if ($p_parent_dir != "") { if (($v_result = PclTarHandlerDirCheck($p_parent_dir)) != 1) { TrFctEnd(__FILE__, __LINE__, $v_result); return $v_result; } } } TrFctMessage(__FILE__, __LINE__, 3, "Create directory '{$p_dir}'"); if (!@mkdir($p_dir, 0777)) { PclErrorLog(-8, "Unable to create directory '{$p_dir}'"); TrFctEnd(__FILE__, __LINE__, PclErrorCode(), PclErrorString()); return PclErrorCode(); } TrFctEnd(__FILE__, __LINE__, $v_result, "Directory '{$p_dir}' created"); return $v_result; }