05. december 2003 - 11:09
Der er
15 kommentarer og 3 løsninger
Registrere filtype
Jeg har nedenstående script, hvordan registrerer jeg $type på fil? Jeg har prøvet under $type = ... <?php if ($registrer) { $dato = time(); $point = "30"; $godkendt = "0"; open(); if ($handle = opendir("../xxx/$mappe")) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { $reg[$file]++; } } closedir($handle); } $foresp = mysql_query("SELECT fil_navn FROM xxx"); while($data = mysql_fetch_array($foresp)) { $reg[$data['fil_navn']]--; } mysql_free_result($foresp); foreach ($reg as $key=>$value) { if ($value==1) { $type = $_FILES['../xxx/$mappe/$key']['type']; $size = filesize("../xxx/$mappe/$key"); $insertSQL = "INSERT INTO xxx (fil_navn, navn, mappe, karakter, dato, type, size, godkendt, point) values ('$key', '$_POST[brugernavn]', '$_POST[mappe]', 'nej', '$dato', '$type', '$size', '$godkendt', '$point')"; mysql_query($insertSQL) or die(mysql_error()); echo $key ." er blevet tilføjet i databasen!<BR>"; } elseif ($value==-1) { echo $key ." skal fjernes fra databasen<br>"; } } close(); } ?>
Annonceindlæg fra Computerworld it-jobbank
05. december 2003 - 11:53
#1
Hepp Du kan (hvis filerne kun har 3 symboler i endelsen) benytte: $type = substr("filer.png", -3); // returnere "png" Hep Hepp
05. december 2003 - 11:55
#2
Jeg vil gerne have sådan noget lignende dette her: application/msword (Dette er en word-fil)
Slettet bruger
05. december 2003 - 13:07
#3
$type=mime_content_type($_FILES['../xxx/$mappe/$key']); burde virke
Slettet bruger
05. december 2003 - 13:08
#4
Og jeg mener endda, at den ikke lader sig snyde af, at en bruger omdøber en fil til at have et andet efternavn.
05. december 2003 - 13:47
#5
sandbox --> Fatal error: Call to undefined function: mime_content_type() in /var/www/html/lektiecafe/admin/undersider/reg_opg.php on line 24
Slettet bruger
05. december 2003 - 14:31
#6
Så er mime ikke slået til i din PHP. Eller din PHP er for gammel. mime_content_type kom med i PHP 4.3.0
05. december 2003 - 14:32
#7
jeg prøver lige at uploade til min webserver og ser og det duer...
05. december 2003 - 14:34
#8
Hmm, virker heller ikke der.. kan det ikke lade sig gøre på andre måder?
Slettet bruger
05. december 2003 - 14:54
#9
på
http://dk.php.net/manual/en/function.mime-content-type.php er der en bruger (den øverste kommentar), der har lavet et alternativ. Det kræver desværre en endnu nyere PHP.
Derudover kan du måske bruge
system("file -i {$_FILES['../xxx/$mappe/$key']");
Den giver en linie i stil med:
perlotine.html: text/plain; charset=us-ascii
Slettet bruger
05. december 2003 - 14:55
#10
UPS. Der manglede et tegn system("file -i {$_FILES['../xxx/$mappe/$key']}");
05. december 2003 - 15:17
#11
Virker heller ikke... $type = system("file -i {$_FILES['../xxx/$mappe/$key']}");
Slettet bruger
05. december 2003 - 15:23
#12
Får du nogen fejl?
05. december 2003 - 15:45
#13
Nej, den går bare ikke igennem...
05. december 2003 - 15:45
#14
(bliver ikke gemt)
Slettet bruger
05. december 2003 - 15:49
#15
Og $type indeholder ikke noget? Måske hvis du bruger exec() i stedet for system()
05. december 2003 - 17:49
#16
okay... tester jeg lige senere...
25. december 2003 - 16:52
#17
Hmm.. jeg bruger bare unlike's metode!
25. december 2003 - 16:52
#18
Virker ikke optimalt, men tak for hjælpen!
Vi tilbyder markedets bedste kurser inden for webudvikling