Skocz do zawartości
PL
Szukaj na Pecetowiczu
  • Utwórz konto

Skrypt na Menadżer Plików.


Rekomendowane odpowiedzi

Cześć mam pytanie otóż postawiłem sobie w domu serwer i chciałem zrobić do niego menadżer plików i napisałem taki skrypt:

<?php
function getlistFile($dir){
  if(!($fd = opendir($dir))) {
    exit("Nie mogę otworzyć folderu");
  }
  $dirs = array();
  $files = array();
  while(($file = readdir($fd)) !== false) {
    if($file != "."){
      if(is_dir($dir.$file)) {
        $path = $dir."/".$file;
        $dirs[] = '<a href="kurs.php?file='.$path.'\" >'.$file.'</a>';
      }
      if(is_file($dir.$file)) {
        $files[] = $file;
      }
    }
  }
  foreach($dirs as $folders){
    echo '<img src="img/folder.svg" width="64px" height="64px">';
    echo $folders . "<br/>";
  }
  foreach($files as $pliki){
    if(exif_imagetype($dir.$pliki)) {
      echo '<img src="img/photos.svg" width="64px" height="64px">';
    } else {}
    echo $pliki . "<br/>";
    //echo filesize($dir.$pliki) . "<br/>";
  }



  closedir($fd);
}

if(isset($_GET['file'])) {
  getlistFile($_GET['file']);
} else {
  getlistFile("./files/");
}

Ale mam pewien problem bo jak przejdę parę naście razy do przody i do tyłu to dodaje do url w zmiennej globalnej ?file tyle tego że potem nie działa skrypt i mam jeszcze jedno pytanie jak mogę ustawić by nie można było wychodzić z folderu /files/ by można było zarządzać plikami w folderze /files/ ale nie można wyjść z niego wyżej 

Odnośnik do komentarza
Udostępnij na innych stronach

Pod jakie PHP piszesz? Mam nadzieję, że nie pod 5.x czy 7.0...

Ja tu nie widzę managera, a jedynie listing z linkami + poprawiłbym kilka rzeczy, no ale do rzeczy.

  1. Powyższy kod znajduje się w pliku kurs.php i odwołuje się - poprzez anchor pliku - do samego siebie?
  2. W jaki sposób wychodzisz z /files/ skoro sam narzucasz katalog, z którego skrypt listuje pliki?
  3. Teoretycznie tego ?file nie powinno dodawać, bo go nadpisujesz URLem absolutnym. Masz gdzieś demo online?
Odnośnik do komentarza
Udostępnij na innych stronach

@Pretty Little Psycho Masz może Discord'a lub TeamViewer'a ? Bo aktualnie nie mam wykupionego hostingu.

Odnośnik do komentarza
Udostępnij na innych stronach

Mam TV, ale aktualnie jestem w pracy. Tu masz darmowy hosting: https://www.ct8.pl/

Odnośnik do komentarza
Udostępnij na innych stronach

Ogólnie skrypt mi nie działa na tej stronie. http://thomas000.ct8.pl/index.php

A skrypt piszę typowo pod Windows'a a chciałbym uzyskać efekt coś podobnego do DropBoxa tylko że wszystkie wrzucone pliki / foldery będą się pojawiać w folderze /files/ i żeby nie można było z niego wyjść (taki folder główny)

Puki co to jest skrypt tylko do wyświetlania zawartości katalogów ale potem dodam możliwość tworzenia plików .

Odnośnik do komentarza
Udostępnij na innych stronach

Bez różnicy raczej pod jakim OSem piszesz. PHP, to PHP. Ważne, żeby było aktualne.

Chociaż niektóre funkcje faktycznie mogą nie działać w ten sam sposób :P

Co do 'wychodzenia poza katalog', to musisz wrzucić warunek, który sprawdzi czy jesteś w najwyższym, możliwym katalogu albo zamiast opcji /wstecz/ wyświetlić 'drzewko'.

Odnośnik do komentarza
Udostępnij na innych stronach

Próbowałem zrobić i faktycznie zrobiłem że jak jesteś w folderze /files/ to niema wstecz (  ..   / dwóch kropek )  ale jak wejdziesz w poniższy katalog i znowu się cofniesz do files to wtedy się pokazuje i to dla mnie jest dziwne  

Temat do zamknięcia  

Odnośnik do komentarza
Udostępnij na innych stronach

Kontynuuj dyskusję

Dołącz do Pecetowicza, aby kontynuować dyskusję w tym wątku.

  • Dodaj nową pozycję...
  • Dodaj nową pozycję...