10. november 2003 - 11:30
Der er
22 kommentarer
max mb i mappe
Hej kan man lave så man kun kan bruge f.eks. 5 mb i en mappe....? Så der må være indhold i mappen indtil der er over f.eks. 5 mb i mappen....?
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
10. november 2003 - 11:37
#1
Bruger du en uploadform? Ellers er det noget serversetup du skal ha' gang i.
Slettet bruger
10. november 2003 - 11:51
#2
Du kan tjekke størrelsen på en mappe, hvis den er større end 5 MB må brugeren ikke uploade. Du skal nok uddybe lidt mere hvad du vil, men scriptet herunder udskriver størrelsen på en mappe: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Untitled</title> </head> <body> <? function convert($convertTo, $b, $dec) { if($b < 1024) { if(substr($b, 0, -1) > 1) { $ekstra = "s"; } return $b . " byte" . $ekstra; } if($b > 1024) { $endelse = " kilobyte"; $convertTo = 1; } if($b > 1024 * 1024) { $endelse = " megabyte"; $convertTo = 2; } if($b > 1024 * 1024 * 1024) { $endelse = " gigabyte"; $convertTo = 3; } if($b > 1024 * 1024 * 1024 * 1024) { $endelse = " terabyte"; $convertTo = 4; } // antal decimaler efter komma $dec = 1; $expression = pow(1024, $convertTo); $b = number_format($b / ($expression), $dec); if(substr($b, 0, -1) > 1) { $ekstra = "s"; } return $b . $endelse . $ekstra; } function get_file_type($filename) { ereg( ".*\.([a-zA-z0-9]{0,5})$", $filename, $regs ); $f_ext = $regs[1]; $types['Billede'] = array ('jpeg', 'jpg', 'gif','png'); $types['Tekst'] = array ('html', 'htm', 'text', 'txt', 'doc', 'ini', 'csv', 'pdf'); $types['Musik'] = array ('wma', 'mp3', 'mpeg3'); $types['Pakket fil'] = array ('zip', 'tar', 'rar','pak', 'gz'); $types['Filmklip'] = array ('wmv', 'mov', 'avi', 'rv', 'mpg', 'mpeg'); $types['Program'] = array ('exe'); foreach ($types as $k => $v) { if (in_array($f_ext, $v)) { return $k . " (." . $f_ext . ") "; break; } } return "Ukendt (." . $f_ext . ") "; } function fsize($file){ $size; if(is_dir($file)) if ($dh = opendir($file)) while (($filecnt = readdir($dh)) !== false) { if($filecnt == "." || $filecnt == "..")continue; if(is_dir($file."/".$filecnt)) $size += fsize($file."/".$filecnt); else $size += filesize($file."/".$filecnt); } else return false; else $size = filesize($file); return $size; } $mappe = "billeder"; echo "mappen \"" . $mappe . "\" indeholder " . convert("", fsize($mappe), ""); ?> </body> </html>
Slettet bruger
10. november 2003 - 11:52
#3
Du kan jo lige slette funktionen get_file_type() fra scriptet, det var en fejl det kom med.
10. november 2003 - 12:13
#4
el_barto den siger... Warning: filesize(): Stat failed for billeder (errno=2 - No such file or directory) in C:\Websites\3d-chatten.dk\www\max_mb.php on line 65 mappen "billeder" indeholder byte og dette er linen: $size = filesize($file); og jeg har slettet funktionen get_file_type()
Slettet bruger
10. november 2003 - 12:17
#5
Jamen det er klart...du skal jo selv ændre "billeder" til den mappe du vil tjekke :P
Slettet bruger
10. november 2003 - 12:18
#6
Altså ændre i $mappe = "billeder";
10. november 2003 - 12:22
#7
ok nu virker det... :D hvad gør den så hvis der er over 5 mb??
Slettet bruger
10. november 2003 - 12:26
#8
Jamen så gør den jo ikke noget...det jeg kom med var bare et skub i den rigtige retning.
Slettet bruger
10. november 2003 - 12:30
#9
Men den her skulle virke: <? function fsize($file){ $size; if(is_dir($file)) if ($dh = opendir($file)) while (($filecnt = readdir($dh)) !== false) { if($filecnt == "." || $filecnt == "..")continue; if(is_dir($file."/".$filecnt)) $size += fsize($file."/".$filecnt); else $size += filesize($file."/".$filecnt); } else return false; else $size = filesize($file); return $size; } $mappe = "billeder"; if(fsize($mappe) > 55242880) { echo "mappe fyldt"; } else { echo "værsgo og upload du!"; } ?>
10. november 2003 - 12:41
#10
uploader lige nået over 5 mb 2 sek...
10. november 2003 - 12:55
#11
det virker ikke, der er over 5 mb i mappen men den siger "værsgo og upload du!"
Slettet bruger
10. november 2003 - 13:04
#12
Der havde sneget sig et 5 tal for meget ind i maksimalgrænsen... 55242880 skal være 5242880 :)
10. november 2003 - 17:49
#13
ok, nu virker det... ved du hvordan man gør så hvis der er over 5 mb skal den ikke køre scriptet under den kode?
Slettet bruger
10. november 2003 - 18:17
#14
if(fsize($mappe) > 55242880) { echo "mappe fyldt"; exit; } else { echo "værsgo og upload du!"; } //Noget kode her der ikke bliver udført pga. exit
10. november 2003 - 18:57
#15
ok :D
10. november 2003 - 18:58
#16
du får 10 points mere hvis du kan få det til at virke med mysql db... altså så den henter mappe navnet via where i en db...
Slettet bruger
10. november 2003 - 19:05
#17
Jeg har 30000 points i forvejen, så det tror jeg er ligemeget... Men hvad er dit problem med mysql'en?
10. november 2003 - 19:23
#18
jeg fatter ikke helt hvordan man siger at den skal finde mappenavnet i en db og så tjekke det der...
10. november 2003 - 19:24
#19
f.eks. $mappe = "./$mappenavn";
Slettet bruger
20. november 2003 - 08:18
#20
Lukketid?
20. november 2003 - 18:41
#21
det er da dig der skulle hjælpe mig... ;)
Slettet bruger
20. november 2003 - 20:43
#22
Jamen jeg er jo ikke tankelæser. Hvordan skal jeg svare på "jeg fatter ikke helt hvordan man siger at den skal finde mappenavnet i en db og så tjekke det der..." ??
Vi tilbyder markedets bedste kurser inden for webudvikling