Avatar billede -kenner- Nybegynder
12. juli 2006 - 10:19 Der er 9 kommentarer og
1 løsning

JPEG billede bliver afvist, men det skal tillades!

Hej eksperter,

jeg har lavet en file upload, som kun skal godkende jpg billeder, men alle jpg billeder bliver afvist? Hvorfor, og hvad kan jeg gøre ved det?

source:
$Pro ="";
                $Por ="";
                $Ud ="";
                $Ref ="";
                $Titel = "";
                $Vej = "";
                $By = "";
                $Postnummer = "";
                $Beskrivelse = "";
            if(isset($_POST['Tilfoej'])){
                $Titel = $_POST['Titel'];
                $Vej = $_POST['Vej'];
                $By = $_POST['Byen'];
                $Postnummer = $_POST['Postnummer'];
                $Beskrivelse = $_POST['Beskrivelse'];
                if($_POST['Status'] == "Pro"){
                    $Pro ="SELECTED";
                    }elseif($_POST['Status'] == "Ud"){
                    $Ud ="SELECTED";
                    }elseif($_POST['Status'] == "Por"){
                    $Por ="SELECTED";
                    }elseif($_POST['Status'] == "Ref"){
                    $Ref ="SELECTED";
                    }
                    if(empty($_POST['Titel']) or empty($_POST['Vej']) or empty($_POST['Byen']) or empty($_POST['Postnummer']) or empty($_POST['Beskrivelse']) or empty($_POST['Status'])){
                        echo"alle felter skal udfyldes";
                       
                        }else{
                            define( 'MAPPE', 'ejendomme/' );
                       
      if ( is_uploaded_file( $_FILES['fil']['tmp_name'] ) )
      {
        $tmpimg = MAPPE . uniqid('tmpimg') . uniqid('a');
        move_uploaded_file( $_FILES['fil']['tmp_name'], MAPPE . $tmpimg );
        if ( $inf = @getimagesize( $tmpimg ) )
        {
          if ( $inf[2] == 2 )
          {
              $unik = unik_traad();
                  mysql_query("insert into ejendomme (Unik, Titel, Beskrivelse, Status, Vej, Postnummer, Byen) values ('".$unik."', '".$_POST['Titel']."', '".$_POST['Beskrivelse']."', '".$_POST['Status']."', '".$_POST['Vej']."', '".$_POST['Postnummer']."', '".$_POST['Byen']."')") or die(mysql_error());
                  $result = mysql_query("select * from ejendomme where Unik = '$unik'") or die(mysql_error());
                $row = mysql_fetch_array($result);
              $id = $row['ID'];
              rename( $tmpimg, MAPPE . $id . '.jpg' );
              echo Godkendt("Ejendommen blev tilføjet!");
          }
          else
          {
                echo Fejl("Det er ikke et jpeg billede.");
              @unlink( $tmpimg );
          }
        }
        else
        {
          echo Fejl("Det er ikke et jpeg billede.");
        }
      }
                            }
                }
                echo"<br><form name=\"tilfoej\" method=\"post\" action=\"index.php?side=Admin&p=TilfoejEjendom\" enctype=\"multipart/form-data\">
    <table class=\"tekst\" border=\"0\"><tr><td>Titel:</td><td><input type=\"text\" name=\"Titel\" value=\"$Titel\" style=\"width:175px\"></td></tr>
    <tr><td>Vej:</td><td><input type=\"text\" name=\"Vej\" value=\"$Vej\" style=\"width:175px\"></td></tr>
    <tr><td>By:</td><td><input type=\"text\" name=\"Byen\" value=\"$By\" style=\"width:175px\"></td></tr>
    <tr><td>Postnummer:</td><td><input type=\"text\" name=\"Postnummer\" value=\"$Postnummer\" style=\"width:175px\"></td></tr>
    <tr><td>Status:</td><td><Select name=\"Status\"><option value=\"0\">Vælg</option><option value=\"Pro\" $Pro>Projekter</option><option value=\"Por\" $Por>Portefølje</option><option value=\"Ref\" $Ref>Referencer</option><option value=\"Ud\" $Ud>Udlejning</option></select></td></tr>
    <tr><td>Billede:</td><td><input type=\"file\" name=\"fil\" style=\"width:350px\"></td></tr>
    <tr><td>Beskrivelse:</td><td><textarea name=\"Beskrivelse\" style=\"height:150px;width:350px\">$Beskrivelse</textarea></td></tr>
    <tr><td></td><td align=\"left\"><input type=\"submit\" name=\"Tilfoej\" value=\"Tilføj\"></td></tr></table></form>";
Avatar billede erikjacobsen Ekspert
12. juli 2006 - 11:04 #1
Du skal vel spørge på
        if ( $inf = @getimagesize( MAPPE.$tmpimg ) )
når du sætte MAPPE på 2 gange ;)  Eller alternativt rette
    move_uploaded_file( $_FILES['fil']['tmp_name'], MAPPE . $tmpimg );
til
    move_uploaded_file( $_FILES['fil']['tmp_name'], $tmpimg );
Avatar billede -kenner- Nybegynder
12. juli 2006 - 11:23 #2
Det ændre vel ikke på at jeg får denne meddelelse:

          echo Fejl("Det er ikke et jpeg billede.");
Når jeg uploader et billede, som ER et .jpg billede.
Avatar billede -kenner- Nybegynder
12. juli 2006 - 11:25 #3
hov, det gjorde det faktisk, takker, jeg tester et lige online :)
Avatar billede erikjacobsen Ekspert
12. juli 2006 - 11:27 #4
Det er forhåbentlig den sidste rettelse du tager. Den første var for at drille dig
Avatar billede -kenner- Nybegynder
12. juli 2006 - 11:30 #5
Hvordan får jeg koden til at overskrife $id.jpg, hvis billedet allerede eksistere?

for når jeg prøver at uploade et nyt billed,e som skal overskrive det originale får jeg en fejl der siger "File exists in" og så hentyder den til rename() funktionen.
Avatar billede -kenner- Nybegynder
12. juli 2006 - 11:31 #6
Det var det også :)
Avatar billede erikjacobsen Ekspert
12. juli 2006 - 12:52 #7
du kan lige før din rename skrive

    @unlink( MAPPE . $id . '.jpg' );

for at fjerne filen. @-en er der for at undgå en fejlbesked, hvis der ikke er en fil at slette.
Avatar billede -kenner- Nybegynder
13. juli 2006 - 14:00 #8
Det var også de tjeg selv kom frem til, jeg brugte dog en file_exists() isteet for  @, men smid et svar, og tak for hjælpen :)
Avatar billede erikjacobsen Ekspert
13. juli 2006 - 14:03 #9
Jeg samler slet ikke på point, tak.
Avatar billede -kenner- Nybegynder
06. august 2006 - 12:28 #10
Okay, så må jeg jo bare lukke :)
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