Avatar billede saison Nybegynder
21. januar 2004 - 01:36 Der er 6 kommentarer og
1 løsning

Filupload virker, men laver alligevel fejlmedd.

Jeg har et midlertidigt webhotel hos whitehat.dk.
Her har jeg lagt et filuploadsystem ind - http://www.webcafe.dk/artikler/php/upload/

Det virker fint nok, billederne bliver tilføjet i databasen, men alligevel kommer følgende fejl:

Warning: filesize(): open_basedir restriction in effect. File(/var/tmp/phpwPXbRd) is not within the allowed path(s): (/home/whitehat_dk/users/:.:/tmp/) in /usr/home/whitehat_dk/users/upload.php on line 24


Linje 24: $fil_stoerrelse = filesize($fra)/1024;
Linje 25: if($fil_stoerrelse > $konfiguration["max_stoerrelse"]) osv...    {
  die("Desværre - filen er for stor. Jeg accepterer kun " .
      $konfiguration["max_stoerrelse"] . "kb, og din fil fylder " .
      ceil($fil_stoerrelse, 1) . " kb");
}
Avatar billede saison Nybegynder
21. januar 2004 - 01:37 #1
'osv...' er ikke med i linje 25.
Avatar billede martinbk Nybegynder
21. januar 2004 - 01:40 #2
problemet ligger i, at du på whitehat.dk ikke har lov til at tilgå det temp dir som alle uploads php håndterer går igennem, den eneste måde jeg umiddelbart kan se, er først at flytte filen til sin placering og så tjekke om den er for stor
Avatar billede saison Nybegynder
21. januar 2004 - 01:42 #3
Ja ok, men dvs at den flyttes og derefter tjekkes størrelsen, hvis den så er for stor slettes den igen... Det giver da ingen mening, da jeg skal hindre at for store filer lægges på serveren og det gør den jo i det tilfælde...

Ved du om jeg også vil komme ud for dette problem når jeg skifter til et betalingswebhotel?
Avatar billede martinbk Nybegynder
21. januar 2004 - 01:44 #4
det kommer helt an på den enkelte udbyder.. nogen er strikse med den lags filepermissions andre er ikke...

men hvad er problemet i først at kopiere filen til din egen mappe med move_uploaded_file(); og derefter tjekke størrelsen, er den for stor, så sletter vi den bare igen ?
Avatar billede martinbk Nybegynder
21. januar 2004 - 01:46 #5
evt kan du også istedet for at bruge filesize(); tilgå filstørrelsen via $_FILES['arraynavn']['size'];

den info burde blive lagt i det super globale array $_FILES når en fil uploades
Avatar billede saison Nybegynder
21. januar 2004 - 01:55 #6
Jeg har testet med at udskifte filesize() med $_FILES["upfil"]["size"].

Det virker, ingen fejlmeddelelse.

Tak for hjælpen, lægger du et svar?!
Avatar billede martinbk Nybegynder
21. januar 2004 - 02:07 #7
jamen svar da :)
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