Avatar billede expnet Seniormester
23. juni 2004 - 14:24 Der er 19 kommentarer og
1 løsning

jeg har en mappe på min server det ikke må komme formaget i

hej exp'er

hvordan laver jeg brugerkvoter på en mappe så der kun må ligge så og så meget
Avatar billede dennismp Nybegynder
23. juni 2004 - 14:28 #1
Det var godt nok ikke mange detaljer du giver...

Du bruger vel bare opendir()/readdir/closedir til at finde ud af hvor meget der ligger i dir'et og så ser om der må uploades mere?

Du gemmer hver gang en person uploader størrelsen på filen.. og hvis han når en grænse må han ikke mere..

der er mange muligheder
Avatar billede jchillerup Nybegynder
23. juni 2004 - 14:52 #2
Er du sikker på, at det overhovedet er noget PHP, du skal bruge. Jeg går ud fra, at du har en FTP server et sted.. Sæt den til at man max må have et antal mb i den mappe. Er det muligt at sætte en makssstørrelse på folks homedirs i Linux?
Avatar billede dennismp Nybegynder
23. juni 2004 - 15:02 #3
ja
Avatar billede jchillerup Nybegynder
23. juni 2004 - 15:05 #4
Så er det jo løsningen.
Avatar billede expnet Seniormester
23. juni 2004 - 19:20 #5
Kommentar: jchillerup
23/06-2004 14:52:22

Jeg er ikke lige med og ja jeg har en linux-server hvor det er deres homedir der skal brugerkvoter
Avatar billede expnet Seniormester
23. juni 2004 - 20:20 #6
var der ikke nogle der kan hjælpe
Avatar billede fynbo Nybegynder
23. juni 2004 - 21:55 #7
Hvis du mener at du har en mappe, som en bruger kan uploade i og denne mappe har en vis størrelse som ikke må overskrives, kan du enten måle brugerens mappestørrelse før du giver ham lov til at uploade eller gemme antal bytes han uploader og så sætte en spærre på, indtil han sletter noget.
Avatar billede expnet Seniormester
23. juni 2004 - 22:03 #8
fynbo -> jamen det kan jeg da ikke tjekke på en ftp-adgang
Avatar billede fynbo Nybegynder
23. juni 2004 - 22:20 #9
function get_size($dir) {
      $speicher = 0;
      $dateien = 0;
      $verz = 0;
      if ($handle = @opendir($dir)) {
          while ($file = readdir($handle)) {
              if($file != "." && $file != "..") {
                  if(@is_dir($dir."/".$file)) {
                      $wert = get_size($dir."/".$file);
                      $speicher +=  $wert[2];
                      $dateien +=  $wert[0];
                      $verz +=  $wert[1];
                      $verz++;
                  } else {
                      $speicher += @filesize($dir."/".$file);
                      $dateien++;
                  }
              }
          }
      closedir($handle);
      }
      $zurueck[0] = $dateien;
      $zurueck[1] = $verz;
      $zurueck[2] = $speicher;
      return $zurueck;
}

returnerer array:
$array[0] = amount of files scanned;
$array[1] = amount of dirs scanned;
$array[2] = complete size in bytes;
Avatar billede expnet Seniormester
25. juni 2004 - 18:52 #10
hvordan skal jeg tjekke det på en ftp-konti
Avatar billede dennismp Nybegynder
25. juni 2004 - 18:59 #11
Hvis du bruger php5, så kan du bare bruge det fynbo har pasted (med ftp://user:pass@server/dir som sti.)

Hvis du har ftp support så har du en række funktioner: http://dk.php.net/ftp til hjælp.

Hvis webserveren er på samme server som ftp, så bør du bare kunne kigge direkte i brugerens directory
Avatar billede expnet Seniormester
26. juni 2004 - 13:19 #12
jamen det er jo ikke en side de logger på med det deres frp-program / IE til at upload med
Avatar billede dennismp Nybegynder
26. juni 2004 - 13:38 #13
Så forstår jeg ikke spørgsmålet. :-\
Avatar billede expnet Seniormester
26. juni 2004 - 13:49 #14
jeg har en web-server / ftp-server hvor folk som har et brugernavn og password kan logge på ftp-server via. internet explorer eks: Ftp://test.dk

eller et ftp-program  eks: cuteftp

men kan man ikke lave en stopper på selve serveren
Avatar billede dennismp Nybegynder
26. juni 2004 - 13:53 #15
Jo, du sætter dit ftp program til at bruge quotas. Hvordan dette gøres, afhænger af hvilket program du bruger.
Avatar billede expnet Seniormester
26. juni 2004 - 13:58 #16
jeg køre en debian / proftpd
Avatar billede dennismp Nybegynder
26. juni 2004 - 14:07 #17
Kører du med virtuelle brugerer - eller har de en rigtig shell account (bliver de oprettet i /etc/passwd) ?

Jeg kender ikke proftpd selv, men lidt søgning giver mig:
http://www.castaglia.org/proftpd/modules/mod_quotatab.html
Avatar billede expnet Seniormester
26. juni 2004 - 14:14 #18
oki ligger på det men svar lige
Avatar billede dennismp Nybegynder
26. juni 2004 - 14:19 #19
Ok hvis du har problemer, så kan jeg anbefale dig pure-ftpd - den kan klare virtuelle quotas
Avatar billede expnet Seniormester
26. juni 2004 - 14:37 #20
kan du også hjælpe mig med at installer den og opsæt den evt kan du fange mig på msn
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester