Нееет, мои глаза!
Как этот код можно разобрать вообще, звездочки какие-то, и в редакторе есть специальный BB тег для PHP кода.
Во первых:
mkdir("$current/$name",0777);; //лишняя точка с запятой.
Во второых:
echo("<meta http-equiv=refresh content=0 ;url=files.php?current=$current>")
Синтаксис мета-тега неправильный, надо так:
echo "<meta http-equiv=\"refresh\" content=\"0;url=files.php?current=".$current."\">";
Но проще сделать так:
Header("Location:files.php?current=".$current);
Также необходимо сделать дополнительные проверки:
switch($typ) {
case "file":
if($_FILES["file_x"]["name"]!='') {
$file=$_FILES["file_x"];
$name=$current."/".$file["name"];
copy($file["tmp_name"],"$name");
}
break;
case "catalog":
if(!file_exists($current."/".$_POST["cat_x"])) {
$name=$_POST["cat_x"];
mkdir("$current/$name",0777);
}
break;
}