Avatar billede hoell Nybegynder
16. januar 2004 - 23:28 Der er 3 kommentarer og
1 løsning

Problemmer med upload af flere filer

Jeg har følgende script, der melde en fejl omkring der hgvor jeg vil flytte, siger at der ikke er adgang til det angivne bibliotek, men jeg har en CHMOD på 77, så det burde vel ikke være det der er problemmet? eller hva?

Det jeg gerne vil er at kunne oploade op til 6 filer sammen med nogle data. Stien til billedet skal gemme i DB. Desuden skal jeg senere have gemt billedhøjde og -bredde, men dem gemmeer jeg lige i øjeblikket som faste værdier indtil jeg har helt styr på det første.

Nogen der har en smartere måde at gøre det på? Hvis ikke der uploades mindst et billede skal den melde tilbage med en fejl. Burde man ikke sagtens kunne klare det på samme side som jeg har gjort det?

$MaxSize = "200";

IF ($_FILES["upfile1"]["size"] > 0){

    FOR ($tal=0;$tal<=5;$tal++) {

        IF ($_FILES["upfile".$tal]["size"] > 0){

          $from = $_FILES['upfile'.$tal]["tmp_name"];
            $tofile =  $uploadBib. "/" . $_FILES['upfil'.$tal]["name"];
            $fil_stoerrelse = filesize($from)/1024;
              if($fil_stoerrelse > $MaxSize) {
              die("Desværre - filen er for stor. Jeg accepterer kun " . $MaxSize . "kb, og din fil fylder " . ceil($fil_stoerrelse) . "kb");
                }
          if(function_exists("move_uploaded_file")) {
-----> fejl her!!     move_uploaded_file($from,$tofile);
          } else {
            copy($from, $tofile);
            }
            IF ($tal = 0) {
                  $insertbil=("INSERT INTO galleri (Kategori, BilledSti_0, Maerke, Model, Farve, km, Aargang, Pris, Beskrivelse, PicHigth_0, PicWidth_0) VALUES ('$Kategori', '/gallery$uploadBib', '$Maerke', '$Model', '$Farve', '$km', '$Aargang', '$Pris', '$Beskrivelse',5 , 6)");
                    $opretBil= mysql_query($insertbil)  or die(mysql_error());
            } ELSE {
                    $bilID = mysql_result(mysql_query("SELECT LAST_INSERT_ID() FROM galleri"),0);
                    $UpdateBil=("UPDATE galleri WHERE id=$bilID ('BilledSti_$tal', 'PicHigth_$tal', 'PicWidth_$tal') VALUES ('/gallery$tofile', '$tal', '$tal')");
                    $OpdaterBil= mysql_query($UpdateBil)  or die(mysql_error());
            }
        } ELSE {

            ECHO 'Intet billed '.$tal.'!<br>';
        }
    } //Slut FOR-loekke
  header("Location: " . $_SERVER["PHP_SELF"]);
    echo 'Bil oprettet';
  exit;
} ELSE {

  $indhold .= bygFormular($_SERVER["PHP_SELF"]);
  $output = bygSide($indhold);
}
echo $output;
exit;


function bygSide($indhold) {
  return '<link href="http://www.hoell.dk/templates/visualcool/css/template_css.css" rel="stylesheet" type="text/css" />
                        <body class="mainWindow">' . $indhold . '</body>
        ';
}

function bygFormular($action) {
    $formular = '<form action="' . $action . '" method="post" enctype="multipart/form-data">
                                <table width="100%" border="0" bgcolor="#F3f3f3" cellspacing="0">
                                    <tr>
                                        <td colspan="2" width="400"><h2>Opret ny bil:</h2></td>
                                    </tr>
                                    <tr>
                                        <td>Kategori:</td>
                                        <td><select size="1" name="Kategori" value="Biler til salg">
                                                    <option>Biler til salg </option>
                                                    <option>Engrosbil </option>
                                                </select>
                                        </td>
                                    </tr>
                                <tr>
                                    <td>Bilmærke:</td><td><input type="text" size="30" name="Maerke" class="inputbox"></td>
                                  </tr>
                                  <tr>
                                    <td>Model:</td><td><input type="text" size="30" name="Model" class="inputbox"></td>
                                  </tr>
                                  <tr>
                                    <td>Farve:</td><td><input type="text" size="30" name="Farve" class="inputbox"></td>
                                  </tr>
                                  <tr>
                                    <td>km:</td><td><input type="text" size="30" name="km" class="inputbox"></td>
                                  </tr>
                                  <tr>
                                    <td>Aargang:</td><td><input type="text" size="30" name="Aargang" class="inputbox"></td>
                                  </tr>
                                  <tr>
                                    <td>Pris:</td><td><input type="text" size="30" name="Pris" class="inputbox"></td>
                                  </tr>
                                  <tr>
                                    <td>Beskrivelse:</td><td><textarea wrap="physical" rows="5" cols="35" name="Beskrivelse"class="inputbox"></textarea></td>
                                  </tr>
                                    <tr bgcolor="#f3f3f3">
                                        <td><b>Billede 1:</b></td>
                                        <td><input type="file" name="upfile0" class="inputbox"></td>
                                    </tr>
                                    <tr bgcolor="#f3f3f3">
                                        <td><b>Billede 2:</b></td>
                                        <td><input type="file" name="upfile1" class="inputbox"></td>
                                    </tr>
                                    <tr bgcolor="#f3f3f3">
                                        <td><b>Billede 3:</b></td>
                                        <td><input type="file" name="upfile2" class="inputbox"></td>
                                    </tr>
                                    <tr bgcolor="#f3f3f3">
                                        <td><b>Billede 4:</b></td>
                                        <td><input type="file" name="upfile3" class="inputbox"></td>
                                    </tr>
                                    <tr bgcolor="#f3f3f3">
                                        <td><b>Billede 5:</b></td>
                                        <td><input type="file" name="upfile4" class="inputbox"></td>
                                    </tr>
                                    <tr bgcolor="#f3f3f3">
                                        <td><b>Billede 6:</b></td>
                                        <td><input type="file" name="upfile5" class="inputbox"></td>
                                    </tr>
                                    <tr bgcolor="#f3f3f3">
                                        <td></td>
                                        <td height="20"><input type="submit" value="Opret ny bil" class="inputbox">&nbsp;&nbsp;&nbsp;&nbsp;<input type="reset" name="Slet formular" class="inputbox">
                                    </tr>
                                </table>
                            </form>
                        ';
      return $formular;
}
?>


Ser frem til bud på hvad der gået galt.
Avatar billede krydset Nybegynder
16. januar 2004 - 23:34 #1
du siger chmod 77 jeg plejer chmod 777
Ved ikke om det er en tastefejl
Avatar billede sthen Nybegynder
16. januar 2004 - 23:43 #2
Så vidt jeg kan gennemskue handler det om, at du forsøger at måle filstørrelsen efter at du har uploadet til serverens temp bibliotek, men inden du flytter til den angivne mappe.
Det er ikke muligt for dig at få adgang til temp-mappen på serveren.
Derfor er du nødt til at flytte filerne herfra til en mappe du selv har rettigheder til, for HER at måle den aktuelle filstørrelse.
Håber ikke at det er tågesnak
Avatar billede hoell Nybegynder
18. januar 2004 - 10:47 #3
Har ikkelige tid til at kigge på det de første par dage, vender tilbage!
Avatar billede hoell Nybegynder
11. april 2004 - 10:04 #4
Lukker lige spm, da problemmet ikke er aktuelt længere, har ikke behov for dette ligevel.
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