diff --git a/tinyfilemanager.php b/tinyfilemanager.php index efc3ce6..608255e 100644 --- a/tinyfilemanager.php +++ b/tinyfilemanager.php @@ -107,6 +107,9 @@ $exclude_items = array(); // false => disable online doc viewer $online_viewer = 'google'; +// Display CSV files as HTML table +$display_csv_as_table = true; + // Sticky Nav bar // true => enable sticky header // false => disable sticky header @@ -1669,6 +1672,7 @@ if (isset($_GET['view'])) { $is_audio = false; $is_video = false; $is_text = false; + $is_csv = false; $is_onlineViewer = false; $view_title = 'File'; @@ -1692,6 +1696,9 @@ if (isset($_GET['view'])) { } elseif (in_array($ext, fm_get_video_exts())) { $is_video = true; $view_title = 'Video'; + } elseif ($display_csv_as_table && $ext == 'csv') { + $is_csv = true; + $view_title = "CSV File"; } elseif (in_array($ext, fm_get_text_exts()) || substr($mime_type, 0, 4) == 'text' || in_array($mime_type, fm_get_text_mimes())) { $is_text = true; $content = file_get_contents($file_path); @@ -1767,7 +1774,7 @@ if (isset($_GET['view'])) {     @@ -1810,6 +1817,15 @@ if (isset($_GET['view'])) { } elseif ($is_video) { // Video content echo '
'; + } elseif ($is_csv) { + $tableTheme = (FM_THEME == "dark") ? "text-white bg-dark table-dark" : "bg-white"; + echo ''; + $csvFilePointer = fopen($file_path, 'r'); + while ( ($csvRow = fgetcsv($csvFilePointer) ) !== FALSE ) { + echo ''; + } + fclose($csvFilePointer); + echo '
'. implode('', $csvRow). '
'; } elseif ($is_text) { if (FM_USE_HIGHLIGHTJS) { // highlight