Avatar billede kourinsu Nybegynder
15. august 2005 - 10:33 Der er 13 kommentarer og
1 løsning

$_FILES inderholder intet

Hej

Jeg har udviklet denne upload-funktion på min egen php-server. Der virker den fint, men når jeg prøver den hos mit webhotel, virker den ikke. Alle variabler der bliver hentet med $_FILES er tomme. Er der nogen, der ved hvad problemet kan være? Jeg har tænkt på, om det kunne være en sikkerhed-procedure, der træder i kraft, som jeg ikke har på min maskine.


<?
if($_POST['up']){
    $files = $_FILES['upfil']['name'];
    $file = $_FILES['upfil']['tmp_name'];
    $fil_stoerrelse = @filesize($file)/1024;
    $filatrib = getimagesize($_FILES["upfil"]["tmp_name"]);
    $type = $_FILES['upfil']['type'];
    if($fil_stoerrelse > "20480") {
        echo "Filen fylder for meget. Tjek  at st&oslash;rrelsen ikke er over 20mb.<br>
        <a href=java script:history.back(-1)>Tilbage</a>";
        exit;
    }
      if($type != "image/jpeg") {
        echo "<script>";
        echo "alert(\"Det er desværre ikke muligt, at uploade denne filtype!\")";
        echo "</script>";
        echo "<meta http-equiv='refresh' content='0;URL=upload.php'>";
        exit;
    }
    if($filatrib[0] > "240" || $filatrib[1] > "170") {
      echo "<script>";
        echo "alert(\"Billedet må ikke være større end 240x170 pixels\")";
        echo "</script>";
        echo "<meta http-equiv='refresh' content='0;URL=upload.php'>";
        exit;
    }
   
    $exist_check = mysql_query("SELECT * FROM billeder WHERE pic_adresse='$files'");
    if(mysql_num_rows($exist_check)!=0) {
      echo "<script>";
        echo "alert(\"Der findes allerede et billede med dette navn!\")";
        echo "</script>";
        echo "<meta http-equiv='refresh' content='0;URL=upload.php'>";
        exit;
    }
 
 
 
    $temparr = explode(".", $files);
    $tal = count ($temparr);
    $sti = "/test/grafik/billeder/";
    $dist = $_SERVER["DOCUMENT_ROOT"] ."$sti"."$files";
    move_uploaded_file($_FILES['upfil']['tmp_name'], $dist);

?>
Avatar billede jaiz Nybegynder
15. august 2005 - 10:38 #1
lyder somom det er en sti et sted der er gået galt, tjek din formmail om den banker ind i scriptet ;)
Avatar billede kourinsu Nybegynder
15. august 2005 - 10:44 #2
Den virker som sagt upåklagelig på min egen server, så det tror jeg ikke. Formen er :

<form action="reciever.php" method="post" name="send" enctype="multipart/form-data" onsubmit="return formCheck()">
    <input name="upfil" type="file" class="txtarea">
    <input name="beskrivelse" type="text">
    <input name="up" type="submit" class="txtarea" value="Upload">
</form>
Avatar billede erikjacobsen Ekspert
15. august 2005 - 10:44 #3
Og hvordan ser din <form> ud ?
Avatar billede kourinsu Nybegynder
15. august 2005 - 10:50 #4
Jeg går ud fra, du mener den form, som jeg nåede at post før du gjorde :P
Avatar billede jaiz Nybegynder
15. august 2005 - 10:52 #5
din formCheck den laver heller ikke fejl?
Avatar billede kourinsu Nybegynder
15. august 2005 - 10:53 #6
Nope...den sikre kun at felterne er udfyldte...
Avatar billede erikjacobsen Ekspert
15. august 2005 - 10:54 #7
Ja, du var hurtigere. Du husker at trykke på knappen, når du submitter?
Avatar billede erikjacobsen Ekspert
15. august 2005 - 10:55 #8
Og så kan fileupload være slået fra på serveren - hvad er dit webhotel ?
Avatar billede kourinsu Nybegynder
15. august 2005 - 10:55 #9
Hehe...ja, det gør jeg. Jeg prøver lige at skrive en mail til min host, det kan være han kan kaste lys over det.
Avatar billede erikjacobsen Ekspert
15. august 2005 - 10:56 #10
Og endelig kan de have sat en max-størrelse ret lavt. Du prøver selvfølgelig også med ene meget lille fil, ik'?
Avatar billede erikjacobsen Ekspert
15. august 2005 - 11:09 #11
Hvad sker der hvis du fjerne @-et i

      $fil_stoerrelse = @filesize($file)/1024;
Avatar billede kourinsu Nybegynder
15. august 2005 - 12:18 #12
Så spiller det dælme. Fejlen skyldtes 2 ting...jeg kørte en phpinfo() som viste at file_upload var lukket (enten er det blevet ændret, eller også er siden blevet flyttet til en anden server). Desuden var der noget safe_mode der spillede ind, men det hele spiller altså nu. Hvis du smider et svar erikjacobsen, så får du pointene...
Avatar billede erikjacobsen Ekspert
15. august 2005 - 12:18 #13
Ellers tak, jeg samler slet ikke på point.
Avatar billede kourinsu Nybegynder
15. august 2005 - 12:20 #14
Oki, men så håber jeg du samler på taknemmelighed...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