index.php 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <html>
  2. <head>
  3. <title>WebVideoViewer</title>
  4. </head>
  5. <body>
  6. <?php
  7. $CONFIG = array( // TODO: check if still in one of these dirs to prevent escaping to other files
  8. "paths" => array(
  9. "/media/Serien",
  10. "/media/Filme"
  11. )
  12. );
  13. if(!isset($_GET['path']) || !$_GET['path']) {
  14. foreach($CONFIG['paths'] as $path) {
  15. echo "<h2>" . $path . "</h2>";
  16. $list = scandir($path);
  17. $list = array_diff($list, array('.', '..'));
  18. foreach($list as $object) {
  19. echo "<a href=\"?path=" . $path . "/" . $object . "\">" . $object . "</a><br>";
  20. }
  21. }
  22. } else {
  23. $_GET['path'] = str_replace('/..', '', $_GET['path']);
  24. $_GET['path'] = str_replace('../', '', $_GET['path']);
  25. $_GET['path'] = str_replace('..', '', $_GET['path']);
  26. echo "<h2>" . $_GET['path'] . "</h2>";
  27. if(is_dir($_GET['path'])) {
  28. $list = scandir($_GET['path']);
  29. $list = array_diff($list, array('.'));
  30. foreach($list as $object) {
  31. if($object == "..") {
  32. $paths = explode('/', $_GET['path']);
  33. $paths = array_diff($paths, array($paths[sizeof($paths) - 1]));
  34. $pathv = "";
  35. foreach($paths as $key => $path) {
  36. if($key == sizeof($paths) - 1) {
  37. $pathv .= $path;
  38. } else {
  39. $pathv .= $path . "/";
  40. }
  41. }
  42. echo "<a href=\"?path=" . $pathv . "\">" . $object . "</a><br>";
  43. } else {
  44. echo "<a href=\"?path=" . $_GET['path'] . "/" . $object . "\">" . $object . "</a><br>";
  45. }
  46. }
  47. } else {
  48. $paths = explode('/', $_GET['path']);
  49. $paths = array_diff($paths, array($paths[sizeof($paths) - 1]));
  50. $pathv = "";
  51. foreach($paths as $key => $path) {
  52. if($key == sizeof($paths) - 1) {
  53. $pathv .= $path;
  54. } else {
  55. $pathv .= $path . "/";
  56. }
  57. }
  58. $mime = finfo_file(finfo_open(FILEINFO_MIME), $_GET['path']);
  59. $mime = explode(';', $mime);
  60. echo "<a href=\"?path=" . $pathv . "\">Back</a><br>";
  61. echo "<video width=\"auto\" height=\"auto\" controls>";
  62. echo "<source src=\"readfile.php?file=" . $_GET['path'] . "\" type=\"" . $mime[0] . "\">";
  63. echo "Your browser does not support the video tag.";
  64. echo "</video>";
  65. }
  66. }
  67. ?>
  68. </body>
  69. </html>