Avatar billede kiwankow Nybegynder
21. september 2009 - 08:33 Der er 5 kommentarer og
1 løsning

hvorfor vil upload script kun godtage *.gif filer

Hej jeg bruger dette script til at uploadebillede filer. Men hver gang jeg prøver at uploade et *.jpg billede returnerer den med "invalid file"

<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg"))
&& ($_FILES["file"]["size"] < 20000))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";

      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
   
    }
  }
else
  {
  echo "Invalid file";
  }
?>
Avatar billede repox Seniormester
21. september 2009 - 08:45 #1
Du kunne jo lige prøve at lave en print_r().


..
else
  {
  print_r($_FILES);
  echo "Invalid file";
  }
?>


På den måde kan du hurtigt se om begge krav i din if-sætning er opfyldt.

Ellers kan du prøve at paste resultatet herinde
Avatar billede kiwankow Nybegynder
21. september 2009 - 09:20 #2
hmm af en eller anden grund skulle der står "pjpeg"..!!

min html fil ser således ud:

<head>
<script type="text/JavaScript">
function sync(elm)
{
    text = elm.value;
    pos = text.lastIndexOf('\\');
    if (pos == -1) pos = text.lastIndexOf('/');
    document.getElementById("filnavn").value = text.substring(pos+1);
}
</script>
</head>

<body>
<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" onchange="sync(this)"/>
<input id="filnavn" name="filnavn">
<br />
<input type="submit" name="submit" value="Upload billede" />
</form>
</body>

Jeg kunne godt tænke mig at følgende kunne laves i samme omgang.

Så der laves en filename.php der kun indeholder følgende:
$filnavn            ="filnavn";
Men det virker ikke rigtig..??

<?php
if (isset($_POST["Submit"])) {
$string = '<?php
$filnavn            ="filnavn";
?>';
$fp = fopen("filename.php", "w");
fwrite($fp, $string);
fclose($fp);
}
?>
Avatar billede repox Seniormester
21. september 2009 - 09:28 #3
Jeg må sq indrømme at jeg ikke forstod ret meget af dit indlæg...
Avatar billede kiwankow Nybegynder
21. september 2009 - 09:34 #4
Nå har selv løst problemet så bare smid et svar så får du point :-)
Avatar billede repox Seniormester
21. september 2009 - 09:36 #5
Du kan jo give mig point for det du synes det var værd med fejlsøgningen og beholde resten selv.
Avatar billede kiwankow Nybegynder
21. september 2009 - 10:02 #6
Du får dem allesammen, det var din ide der førte til løsningen af problemet, altså det første problem som jeg postede :-)
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