Avatar billede blach Nybegynder
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();
}
?>
Avatar billede unlike Nybegynder
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
Avatar billede blach Nybegynder
05. december 2003 - 11:55 #2
Jeg vil gerne have sådan noget lignende dette her:
application/msword (Dette er en word-fil)
Avatar billede Slettet bruger
05. december 2003 - 13:07 #3
$type=mime_content_type($_FILES['../xxx/$mappe/$key']);

burde virke
Avatar billede 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.
Avatar billede blach Nybegynder
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
Avatar billede 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
Avatar billede blach Nybegynder
05. december 2003 - 14:32 #7
jeg prøver lige at uploade til min webserver og ser og det duer...
Avatar billede blach Nybegynder
05. december 2003 - 14:34 #8
Hmm, virker heller ikke der.. kan det ikke lade sig gøre på andre måder?
Avatar billede Slettet bruger
05. december 2003 - 14:54 #9
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
Avatar billede Slettet bruger
05. december 2003 - 14:55 #10
UPS. Der manglede et tegn
system("file -i {$_FILES['../xxx/$mappe/$key']}");
Avatar billede blach Nybegynder
05. december 2003 - 15:17 #11
Virker heller ikke...
    $type = system("file -i {$_FILES['../xxx/$mappe/$key']}");
Avatar billede Slettet bruger
05. december 2003 - 15:23 #12
Får du nogen fejl?
Avatar billede blach Nybegynder
05. december 2003 - 15:45 #13
Nej, den går bare ikke igennem...
Avatar billede blach Nybegynder
05. december 2003 - 15:45 #14
(bliver ikke gemt)
Avatar billede Slettet bruger
05. december 2003 - 15:49 #15
Og $type indeholder ikke noget?

Måske hvis du bruger exec() i stedet for system()
Avatar billede blach Nybegynder
05. december 2003 - 17:49 #16
okay... tester jeg lige senere...
Avatar billede blach Nybegynder
25. december 2003 - 16:52 #17
Hmm.. jeg bruger bare unlike's metode!
Avatar billede blach Nybegynder
25. december 2003 - 16:52 #18
Virker ikke optimalt, men tak for hjælpen!
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