Avatar billede -kenner- Nybegynder
07. maj 2005 - 20:42 Der er 13 kommentarer og
1 løsning

Upload afviser JPG billeder, selv om det er JPG, som er tilladt..

Hej eksperter,

Jeg er ved hjælp kommet frem til denne kode, men den afviser mine JPG billeder, selv om det er dem den skal godkende.

Håber i kan hjælpe.

Mvh Kenneth

<?php

  define( 'MAPPE', '../Billeder/' );

  if ( isset( $_POST['gem'] ) )
  {
      if ( is_uploaded_file( $_FILES['fil']['tmp_name'] ) )
      {
        if ( $inf = @getimagesize( $_FILES['fil']['tmp_name'] ) )
        {
          if ( $inf[2] == 2 )
          {
              // hent id fra databasen
              $id = 1;
              move_uploaded_file( $_FILES['fil']['tmp_name'], MAPPE . $id . '.jpg' );
              echo "Fil gemt.";
          }
          else
          {
              echo "Det er ikke et jpeg billede.";
          }
        }
        else
        {
          echo "Det er ikke et jpeg billede.";
        }
      }
  }

?>
<form method="post" action="<?= $_SERVER['PHP_SELF'] ?>" enctype="multipart/form-data">
<input type="file" name="fil">
<input type="submit" name="gem" value="Upload">
</form>
Avatar billede peet49 Nybegynder
07. maj 2005 - 20:47 #1
På min side må der ikke oploades med æ/ø/å, det kan være det er dit problem også.
Avatar billede simon_gs_13 Nybegynder
07. maj 2005 - 20:52 #2
har lige prøvet dit script af, og jeg kan ikke se nogen fejl, prøvede også med et filnavn med æøå. men er du sikker på at det billede du prøver at upload er et .jpg og ikke et .jpeg
Avatar billede cmau Nybegynder
07. maj 2005 - 21:46 #3
Prøv at fjerne @ i denne linje:

        if ( $inf = @getimagesize( $_FILES['fil']['tmp_name'] ) )

For at se om den giver fejl.
Avatar billede -kenner- Nybegynder
07. maj 2005 - 21:46 #4
det skal også være tilladt at uploade .jpg, hvad skal så ændres i koden?
Avatar billede coderdk Praktikant
07. maj 2005 - 22:47 #5
Hvad er der galt med mit svar fra dit oprindelige spørgsmål?

http://eksperten.dk/spm/615800
Avatar billede simon_gs_13 Nybegynder
07. maj 2005 - 23:08 #6
som din kode er lige nu, så kan den kun modtage .jpg filler, alt andet vil den ikke tage imod, hvis du vil har den til at modtage flere filtyper skal du tilføje '.filtype'i denne linie:
move_uploaded_file( $_FILES['fil']['tmp_name'], MAPPE . $id . '.jpg' );
Avatar billede -kenner- Nybegynder
08. maj 2005 - 00:30 #7
Hvad er det så simon gs 13 snakker om?

Jeg forsøger at uploade et .jpg billede, og det bliver afvist. Hvad går der galt?
Avatar billede coderdk Praktikant
08. maj 2005 - 00:59 #8
Hvis du fjerner @'et kan du se om der kommer fejl. Mit gæt er permission/access denied. Derfor prøv det jeg skriver i det andet spørgsmål.
Avatar billede simon_gs_13 Nybegynder
08. maj 2005 - 11:25 #9
Jeg gør dig bare opmærksom på at du skal være sikker på din filtyper.
Jeg kan ikke se ander fejl muligheder end dem jeg har nævnt. Jeg har afprøvet dit script på flere forskellige server, uden at få en fejl en eneste gang.
Avatar billede -kenner- Nybegynder
08. maj 2005 - 12:46 #10
Nu skal i se, i spørgsmålet http://eksperten.dk/spm/615800, har jeg fået svaret, som står neden for af coderdk, og det tillader .jpg, som det skal. .gif bliver afvist, som det skal, men jeg får en underlig error når jeg uploader bitmap.

Error:
Internal Server Error
The page you requested could not be served. This could happen for a variety of reasons, including:
A CGI script failed to produce any output.
The server is incorrectly configured.
The server encountered a critical error.
There may be more information about this error in the server's error logs.
If you have any queries about this error, please e-mail no.email@1go.dk.


--------------------------------------------------------------------------------

Back to www.kenda.1go.dk homepage

--------------------------------------------------------------------------------



[ Powered by Zeus Web Server ]



Kode:
<?php

  define( 'MAPPE', 'en_mappe/' );

  if ( isset( $_POST['gem'] ) )
  {
      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 )
          {
              // hent id fra databasen
              $id = 1;
              rename( $tmpimg, MAPPE . $id . '.jpg' );
              echo "Fil gemt.";
          }
          else
          {
              echo "Det er ikke et jpeg billede.";
              @unlink( $tmpimg );
          }
        }
        else
        {
          echo "Det er ikke et jpeg billede.";
        }
      }
  }

?>
<form method="post" action="<?= $_SERVER['PHP_SELF'] ?>" enctype="multipart/form-data">
<input type="file" name="fil">
<input type="submit" name="gem" value="Upload">
</form>
Avatar billede -kenner- Nybegynder
10. maj 2005 - 18:42 #11
hvad skyldes denne underlige fejl?
Avatar billede coderdk Praktikant
10. maj 2005 - 19:01 #12
No clue - Der sker noget med webserveren eller PHP - Svært at sige ;)
Avatar billede simon_gs_13 Nybegynder
10. maj 2005 - 19:14 #13
Jeg har heller ikke nogen ide, kan kun sige dig at det er server fejl, prøv at skrive 1go.dk og spørge til den error besked
Avatar billede -kenner- Nybegynder
06. august 2006 - 12:34 #14
Lukke, Spørgsmålet blev besvaret her: http://www.eksperten.dk/spm/720267
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