Avatar billede rextsearex Nybegynder
26. juni 2003 - 11:10 Der er 1 kommentar

Problemer med upload af billeder funktion

Jeg har denne funktion til at uploade 2 billeder samt tekst og det virker fint. Jeg har selv været ved at rette koden til og nu virker check af fil typer ikke, samt check af størelse heller ikke. Er der nogen som kan "reparerer" koden?


<html>
<head>
<title>Indtast Leveringsoplysninger</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body text="000066" link="000066" vlink="000066" alink="000066" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<?
session_start();
?>
<?
$archive_dir = "/images";
function upload_form(){
    global $PHP_SELF;
    }
?>


<table width="720" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><? include("topmenu.php"); ?></td>
  </tr>
  <tr>
    <td><img src="images/originals/transparent.gif" width="1" height="1"></td>
  </tr>
  <tr>
    <td bgcolor="000066"><img src="images/originals/transparent.gif" width="1" height="2"></td>
  </tr>
</table>
<table width="720" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="143"><img src="images/originals/transparent.gif" width="143" height="1"></td>
    <td width="1"  bgcolor="000066"><img src="images/originals/transparent.gif" width="1" height="1"></td>
    <td ><img src="images/originals/transparent.gif" width="432" height="1"></td>
    <td width="1" bgcolor="000066" ><img src="images/originals/transparent.gif" width="1" height="1"></td>
  </tr>
  <tr>
    <td valign="top"><? include("left.php"); ?>
    </td>
    <td bgcolor="000066"></td>
    <td ><table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td width="1"><img src="images/originals/transparent.gif" width="1" height="1"></td>
          <td height="600" valign="top"> <script type="text/javascript">


function validering()
  {
  error = 0;
  if((document.forms[0].navn.value=='') && (error==0)) 
  {       
    alert('Navn feltet skal udfyldes!');
    document.forms[0].navn.focus();
    error = 1;       
  }           


if((document.forms[0].lokale.value=='') && (error==0)) 
  {       
    alert('Lokale feltet skal udfyldes!');
    document.forms[0].lokale.focus();
    error = 1;       
  }       

if((document.forms[0].dato.value=='') && (error==0)) 
  {       
    alert('Ønsket leveringsdato feltet skal udfyldes!');
    document.forms[0].dato.focus();
    error = 1;       
  }       

if((document.forms[0].konto.value=='') && (error==0)) 
  {       
    alert('konto nr feltet skal udfyldes!');
    document.forms[0].konto.focus();
    error = 1;       
  }   






  if(error == 0)
  document.forms[0].submit();   
  }

// Slut -->
</script>
<SCRIPT LANGUAGE="JavaScript">

var page = new Array();
function popUp(URL) {
    day = new Date();
    id = day.getTime();
    page[id] = window.open(URL, 'nn' +id ,
        'scrollbars=1,width=300,height=300,left=490,top=362');
}
// End -->
</script>

            <br>

            <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" enctype="multipart/form-data">
            <table width="100%" border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td height="2"><img src="images/originals/transparent.gif" width="1" height="1"></td>
              </tr>
            </table> <div align="center">
         
              <table width="80%" align="center" cellpadding="0" cellspacing="1" bgcolor="333333">
              <tr>
                  <td bgcolor="FFFFFF"> <table border="0" cellpadding="4" cellspacing="0" width="100%">
                      <tr>
                        <td bgcolor="000066"><div align="center"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif"><strong>Opret
                            ny varer</strong></font></div></td>
                      </tr>
                      <tr>
                        <td height="1" bgcolor="AAAAAA">
                      <tr>
                        <td>
<?
/* Funktion der åbner en forbindelse til en specifik database */

function aabn_forbindelse() {
include("database.php");
   


    if (!mysql_connect("$dbname", "$username", "$password")) {
        udskriv_fejl("Kunne ikke oprette en forbindelse til MySQL");
    }
   
    if (!mysql_select_db("$database")) {
        udskriv_fejl("Kunne ikke vælge databasen: $database");
    }
}

/* Funktion der klarer sql-forespørgsel der IKKE modtager data */

function sql_spoerg($query) {
   
    $resultat = mysql_query($query);

    if (!$resultat) {
        udskriv_fejl("Kunne ikke udføre: <b>$query</b>");
    }
}

/* Funktion der lukker forbindelsen til databasen */

function luk_forbindelse() {
   
    if (!mysql_close()) {
        udskriv_fejl("Kunne ikke lukke forbindelsen til MySQL");
    }
}

/* Funktion der udskriver fejl */

function udskriv_fejl($fejl) {

    echo "<p>$fejl</p>";

    if ($mysql_fejl = mysql_error()) {
        echo "<br />Fejlen er: <b>$mysql_fejl</b>";
    }

    exit;
}

/* Hovedfunktioen */

function upload_fil($fil, $fil2, $navn, $email, $website, $beskrivelse, $underskrift, $max_stoerrelse = 500, $bibliotek = "default", $filtyper_tilladt = "default") {

    if ($bibliotek == "default") {
        $bibliotek = "/images/thumbnails/";
    }

    if ($filtyper_tilladt == "default") {
        $filtyper_tilladt = array("image/bmp", "image/jpeg", "image/tiff", "image/png", "image/gif", "application/pdf", "application/zip", "application/arj", "application/x-zip-compressed", "application/octet-stream");
    }

    if ($fil["size"] > 0 && $fil2["size"] > 0) {
       
//indsat fil 2
$filnavn2 = strtolower(ereg_replace(" ", "_", $fil2["name"]));
$fil_sti2 = $bibliotek . "/" . $filnavn2;
//slut fil2
        $filnavn = strtolower(ereg_replace(" ", "_", $fil["name"]));
        $fil_sti = $bibliotek . "/" . $filnavn;

//check 2
$fra2 = $fil2["tmp_name"];
$fil_stoerrelse2 = filesize($fra2)/1024;
$filtype2 = $fil2["type"];
$fejl2 = "0";
//slut

        $fra = $fil["tmp_name"];
        $fil_stoerrelse = filesize($fra)/1024;
        $filtype = $fil["type"];
        $fejl = "0";



      if(!in_array($filtype, $filtyper_tilladt)) {
//if(!in_array($filtype, $filtyper_tilladt) && (!in_array($filtype2,  $filtyper_tilladt)) ) {

            echo "<p>Filtypen '$filtype' er ikke tilladt. De tilladte filtyper er '" . implode("', '", $filtyper_tilladt) . "'. Filen $filnavn kan derfor ikke uploades!</p>";
    $fejl = "1";
        }

//////////////  indsat
if(!in_array($filtype2, $filtyper_tilladt)) {
echo "<p>Filtypen '$filtype2' er ikke tilladt. De tilladte filtyper er '" . implode("', '", $filtyper_tilladt) . "'. Filen $filnavn2 kan derfor ikke uploades!</p>";
$fejl = "1";


            $fejl = "1";
        }

////////////////  slut

        if ($fil_stoerrelse > $max_stoerrelse) {
            echo "<p>Filen '$filnavn' er for stor og kan ikke uploades. Den fylder " . ceil($fil_stoerrelse) . " kb og der kan maximalt uploades $max_stoerrelse kb!</p>";
            $fejl = "1";


        }
        if ($fejl == "0") {
            if (file_exists(getcwd() . $fil_sti)) {
               
                $pos = strrpos($filnavn, ".");
                $navn = substr($filnavn, 0, $pos);
                $type = substr($filnavn, $pos + 1, strlen($filnavn) - ($pos + 1));
                $i = 2;
               
                echo "<p>Filen '$filnavn' eksisterer allerede i '" . $bibliotek . "' og filen omdøbes derfor til ";
               
                while (file_exists(getcwd() . $fil_sti)) {
                    $filnavn = $navn . "(" . $i . ")." . $type;
                    $fil_sti = $bibliotek . "/" . $filnavn;
                    $i++;
                }
                echo "'$filnavn'</p>";

//////////////////////////////////////////////////indsat
            }

            $til = $_SERVER["DOCUMENT_ROOT"] . $fil_sti;

            if (move_uploaded_file($fra, $til)) {
                echo "<p><center><BR>Filen '$filnavn' er uploadet!</center></p>";
                echo "<p><center>Filen '$filnavn2' er uploadet!</center></p>";
                echo "<p><center>Data fra formen er uploadet</center></p>";
                echo "<p><center><a href=\"opret_bestilling.php\" title=\"Ny bestilling\">Ny bestilling</a></center></p>";
                aabn_forbindelse();
                sql_spoerg("INSERT INTO udbud ( image, varenr, pris, linkprod, beskrivelse, lilleoverskrift, stortbillede) VALUES ( '$fil_sti', '$navn', '$email', '$website', '$beskrivelse', '$underskrift', '$fil_sti2')");
                luk_forbindelse();
            } else {
                echo "<p><center>Desværre, filen '$filnavn' kunne ikke uploades!</center></p>";
                echo "<p><center>Desværre, filen '$filnavn2' kunne ikke uploades!</center></p>";
                echo "<p><center>Desværre, data fra formen kunne ikke uploades!</center></p>";
                return false;
            }
        }
    } else {
        echo "<p>Der er ikke vedhæftet nogen fil!</p>";
    }
}

?>



<div>

<?php
if ($_POST[sendknap]  && $_POST[navn] && $_POST[email] && $_POST[website] && $_POST[beskrivelse] && $_POST[underskrift]) {

    $fil = $_FILES["upfil"];
    $fil2 = $_FILES["upfil2"];
    $max_stoerrelse = 1000;
    $upload_mappe = "/images/thumbnails";
    $filer_tilladt = array("image/pjpeg", "image/bmp", "image/jpeg", "image/tiff", "image/png", "image/gif", "image/jpg");

    upload_fil($fil, $fil2,  $navn, $email, $website, $beskrivelse, $underskrift, $max_stoerrelse, $upload_mappe, $filer_tilladt);




} else {
?>






Lille overskrift<br />
                            <input name="underskrift" type="text" size="30" maxlength="9" />
                              &nbsp;<A HREF="java script:popUp('vejledning_overskrift.php')" style="text-decoration: none"><font color="#FF0000" size="1" face="Arial, Helvetica, sans-serif">Info</font></A><br />
    Varer Nummer<br />
                            <input type="text" name="navn" size="30" />
                              &nbsp;<A HREF="java script:popUp('vejledning_varernr.php')" style="text-decoration: none"><font color="#FF0000" size="1" face="Arial, Helvetica, sans-serif">Info</font></A><br />
    Pris<br />
                            <input name="email" type="text" size="30" maxlength="15" />
                              &nbsp;<A HREF="java script:popUp('vejledning_pris.php')" style="text-decoration: none"><font color="#FF0000" size="1" face="Arial, Helvetica, sans-serif">Info</font></A><br />
    Link producent<br />
                            <input type="text" name="website" value="http://" size="30" />
                              &nbsp;<A HREF="java script:popUp('vejledning_link.php')" style="text-decoration: none"><font color="#FF0000" size="1" face="Arial, Helvetica, sans-serif">Info</font></A><br />
Beskrivelse<br />
                            <textarea name="beskrivelse" cols="40" rows="5" type="text" value="" ></textarea>
                            &nbsp;<A HREF="java script:popUp('vejledning_Beskrivelse.php')" style="text-decoration: none"><font color="#FF0000" size="1" face="Arial, Helvetica, sans-serif">Info</font></A><br />
    Vedhæft Thumbnail<br />

    <input type="file" name="upfil" size="30" />&nbsp;<A HREF="java script:popUp('vejledning_thumbnail.php')" style="text-decoration: none"><font color="#FF0000" size="1" face="Arial, Helvetica, sans-serif">Info</font></A>
    <br>
    Vedhæft Stort billede<br />
    <input type="file" name="upfil2" size="30" />
  <input type="submit" name="sendknap" value="Upload" />&nbsp;<A HREF="java script:popUp('vejledning_stort_billede.php')" style="text-decoration: none"><font color="#FF0000" size="1" face="Arial, Helvetica, sans-serif">Info</font></A>
 


                            <table width="100%" border="0" cellspacing="0" cellpadding="0">
                              <tr>
                                <td height="2"><img src="images/originals/transparent.gif"></td>
  </tr>
</table>


<?php
}
?>
</div></td>
                      </tr>
                    </table></td>
                </tr>
              </table> </form>
            <table  border="0" align="center" cellpadding="0" cellspacing="0">
              <tr>
                  <td><div align="center"> <a href="java script:history.go(-1)" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image15','','knapper/tilbage_f2.gif',1)">
                   
                    <br>
<img src="knapper/tilbage.gif" name="Image15" width="98" height="33" border="0"></a>
                    </div></td>
                </tr>
              </table>
         
             
            <br>

          </td>
          <td width="1"><img src="images/originals/transparent.gif" width="1" height="1"></td>
        </tr>
      </table></td>
    <td bgcolor="000066" ></td>
  </tr>
</table>

</body>
</html>
Avatar billede googolplex Novice
26. juni 2003 - 21:41 #1
Det er bedre hvis du tager den gamle funktion (den til kun et billede) og så bruger den 2 gange lige efter hinanden. Så burde det også virke igen :)

Så i stedet for (med den funktion du bruger nu):

upload_fil($fil, $fil2,  $navn, $email, $website, $beskrivelse, $underskrift, $max_stoerrelse, $upload_mappe, $filer_tilladt);

Så bruge følgende (med den 'gamle' funktion:

upload_fil($fil, $navn, $email, $website, $beskrivelse, $underskrift, $max_stoerrelse, $upload_mappe, $filer_tilladt);

upload_fil($fil2, $navn, $email, $website, $beskrivelse, $underskrift, $max_stoerrelse, $upload_mappe, $filer_tilladt);
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