Avatar billede prysse Nybegynder
17. december 2008 - 13:00 Der er 8 kommentarer og
1 løsning

Problem med upload :s

Jeg her et lille problem med en lille stump kode. Koden er som følgende.

[code]
<?php
$uploadDir = '../forside_add/'; //Bibliotek hvor filer uploades til - husk chmod 777
$allowedFileTypes = array('jpg','gif','png','pdf'); //Hvilke filer vil vi acceptere bliver uploadet?

//Er der trykket på Upload file knappen?
if(isset($_POST['myUpload']))
{
  //Har vi en fil?
  if(is_uploaded_file($_FILES['myFile']['tmp_name']))
  {
    //Filendelse
    $extension = strtolower(pathinfo($_FILES['myFile']['name'],PATHINFO_EXTENSION));
   
    //Er filen en af de filer vi gerne vil have?
    if(in_array($extension,$allowedFileTypes))
    {
      //Vi flytter filen fra tmp til vores UPLOADDIR
      if(move_uploaded_file($_FILES['myFile']['tmp_name'],$uploadDir . basename($_FILES['myFile']['name'])))
      {
        echo '<h3 style="color:green;">Filen '.basename($_FILES['myFile']['name']).' blev uploaded korrekt</h3>';
      }
      else
      {
        echo '<h3 style="color:red;">Fejl - Det var ikke umuligt at oploade filen: '.basename($_FILES['myFile']['name']).'</h3>';
      }
    }
    else
    {
      echo '<h3 style="color:red;">Forkert filtype. Tilladte filtyper er jpg, png og gif </h3>';
    }
  }
  else
  {
    echo '<h3 style="color:red;">Ingen fil er valgt<h3>';
  }
}

//Vores form
echo '<form action="upload_pdf_news.php" method="post" enctype="multipart/form-data">';
echo '<input type="file" name="myFile"><br />';
echo '<input type="submit" name="myUpload" value="Upload fil">';
echo '</form>';

?>
[/code]

Jeg har et identisk script kørende på en anden af mine servere, hvor det fungerer 100% fejlfrit. Der hvor problemet ligger, er ved upload af PDF'ere. Det gider den simpelthen ikke. Den giver ikke en fejl, men påstår at jeg ikke har valgt en fil til upload, når jeg forsøger mig med det...

Har lidt på fornemmelse at det er noget med min php installation der lige skal pilles lidt ved, men kunne være lækkert hvis det var scriptet der lige skulle tweakes lidt ;)

Håber det bedste :D
Avatar billede jensgram Nybegynder
17. december 2008 - 13:09 #1
Jeg kan ikke umiddelbart se, hvordan PDF'er skulle kunne give anderledes resultater end de andre typer. Til gengæld virker det plausibelt, at filerne er for store og scriptet derfor fejler.

Du kan via php_info() se upload-grænsen (der naturligvis gælder for alle filtyper).
Avatar billede prysse Nybegynder
17. december 2008 - 13:20 #2
Jaaa... tjekkede det lige - og den er sat til 8M ;) Så det er ikke der problemet ligger da den pågældende pdf kun fylder 2,5
Avatar billede prysse Nybegynder
17. december 2008 - 13:21 #3
sry... 2M :P Der problemet er så ;) ... hmmm - how to change :P
Avatar billede prysse Nybegynder
17. december 2008 - 13:22 #4
Ellers bare kom med et svar ;) Så får du de let tjente 60 point :P
Avatar billede jakobdo Ekspert
17. december 2008 - 16:14 #5
Du kan jo prøve med:
ini_set('max_upload_filesize', 8388608);

8388608 = 8M
Avatar billede jensgram Nybegynder
17. december 2008 - 16:28 #6
Det *kan* endvidere være, at du har lov til at sætte grænsen via .htaccess. Det har man på web10, men nu fremgår det jo ikke, hvor sitet er hostet.
Avatar billede prysse Nybegynder
17. december 2008 - 19:24 #7
Er en personlig server, såe rettede det bare i php.ini og genstartede apache ... så var det problem løst ;)
Avatar billede prysse Nybegynder
17. december 2008 - 19:24 #8
/ Lukket
Avatar billede jensgram Nybegynder
17. december 2008 - 23:10 #9
Perfekt!
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