diff --git a/tinyfilemanager.php b/tinyfilemanager.php index 1fd01b3..dd87129 100644 --- a/tinyfilemanager.php +++ b/tinyfilemanager.php @@ -176,7 +176,7 @@ define('FM_READONLY', $use_auth && !empty($readonly_users) && isset($_SESSION['l define('FM_IS_WIN', DIRECTORY_SEPARATOR == '\\'); // always use ?p= -if (!isset($_GET['p'])) { +if (!isset($_GET['p']) && empty($_FILES)) { fm_redirect(FM_SELF_URL . '?p='); } @@ -446,7 +446,8 @@ if (isset($_GET['dl'])) { } // Upload -if (isset($_POST['upl']) && !FM_READONLY) { +if (!empty($_FILES) && !FM_READONLY) { + $f = $_FILES; $path = FM_ROOT_PATH; if (FM_PATH != '') { $path .= '/' . FM_PATH; @@ -454,31 +455,22 @@ if (isset($_POST['upl']) && !FM_READONLY) { $errors = 0; $uploads = 0; - $total = count($_FILES['upload']['name']); - $allowed = (FM_EXTENSION) ? explode(',', FM_EXTENSION) : false; + $total = count($f['file']['name']); + $allowed = (FM_EXTENSION) ? explode(',', FM_EXTENSION) : false; - for ($i = 0; $i < $total; $i++) { - $filename = $_FILES['upload']['name'][$i]; - $tmp_name = $_FILES['upload']['tmp_name'][$i]; - $ext = pathinfo($filename, PATHINFO_EXTENSION); - $isFileAllowed = ($allowed) ? in_array($ext,$allowed) : true; - if (empty($_FILES['upload']['error'][$i]) && !empty($tmp_name) && $tmp_name != 'none' && $isFileAllowed) { - if (move_uploaded_file($tmp_name, $path . '/' . $_FILES['upload']['name'][$i])) { - $uploads++; - } else { - $errors++; - } + $filename = $f['file']['name']; + $tmp_name = $f['file']['tmp_name']; + $ext = pathinfo($filename, PATHINFO_EXTENSION); + $isFileAllowed = ($allowed) ? in_array($ext, $allowed) : true; + + if (empty($f['file']['error']) && !empty($tmp_name) && $tmp_name != 'none' && $isFileAllowed) { + if (move_uploaded_file($tmp_name, $path . '/' . $f['file']['name'])) { + die('Successfully uploaded'); + } else { + die(sprintf('Error while uploading files. Uploaded files: %s', $uploads)); } } - - if ($errors == 0 && $uploads > 0) { - fm_set_msg(sprintf('All files uploaded to %s', fm_enc($path))); - } elseif ($errors == 0 && $uploads == 0) { - fm_set_msg('Nothing uploaded', 'alert'); - } else { - fm_set_msg(sprintf('Error while uploading files. Uploaded files: %s', $uploads), 'error'); - } - fm_redirect(FM_SELF_URL . '?p=' . urlencode(FM_PATH)); + exit(); } // Mass deleting @@ -694,23 +686,20 @@ if (isset($_GET['upload']) && !FM_READONLY) { fm_show_header(); // HEADER fm_show_nav_path(FM_PATH); // current path ?> + + + +

Uploading files

Destination folder:

-
+