02. januar 2005 - 14:26Der er
29 kommentarer og 1 løsning
Fra php gammel til php ny.
Hey!
Jeg er lige igang med at skrive noget om fra ældre php til de nye standarter. Men hvad skal: ".ceil($fil_stoerrelse)." omskrives til? Et logisk gæt er jo {ceil($fil_stoerrelse)} men så ser det helt forkert ud i webcoder.
die("Desværre - filen er for stor. Jeg accepterer kun {$konfiguration["max_stoerrelse"]}kb, og din fil fylder ".ceil($fil_stoerrelse)."kb");
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Slettet bruger
02. januar 2005 - 14:32#1
die("Desværre - filen er for stor. Jeg accepterer kun " . $konfiguration["max_stoerrelse"] . " kb, og din fil fylder ".ceil($fil_stoerrelse)." kb");
"streng".ceil($fil_stoerrelse)."mer streng" kan ikke omskrives til noget andet. Hverken gammel eller ny php tillader at indsætter et funktionskald i en streng for at få funktionens resultat indsat i strengen. det korrekte måde er stadig at lave strengen af stumper sammensat med . operatoren.
nummer 2 kan skrives på andre måder, men jeg ser ingen grund til at skrive den om, den er fin som den er.
Okay, hmm så ". ." er stadig standart også? Fint nok med mig. Det er et upload script jeg arbejder med, det virker fint nok. Men hvis jeg uploader noget for stor virker det faktsik ikk.
if($_FILES["upfil"]["size"] > 0) { $fra = $_FILES["upfil"]["tmp_name"]; $nytnavn = rename_file($_FILES["upfil"]["name"]); $til = $konfiguration["upload_bibliotek"] . "/" . $nytnavn; $fil_stoerrelse = filesize($fra)/1024; if($fil_stoerrelse > $konfiguration["max_stoerrelse"]) { die("Desværre - filen er for stor. Jeg accepterer kun {$konfiguration["max_stoerrelse"]}kb, og din fil fylder ".ceil($fil_stoerrelse)."kb"); }
Den kommer ikke med nogen fejl melding. Og kan man ikke teste før filen bliver uploaded? For sætter man en 600 mb fil igang ligger man jo nærmest serveren ned. Eller i hvert fald til php's egen begrænsing er nået.
Er $konfiguration["max_stoerrelse"] sat til et tal, 888, eller en tekst, "888" ?
Nej, man kan ikke nødvendigvis teste før, men mange browserer accepterer at du sætter en MAXFILESIZE i din HTML i din <form>. Enhver hacker vil ignorere den, men almindelige mennesker vil blive stoppet. Check nogle eksempler.
Det var maxfilesize jeg var ude efter. Det er heller ikke så meget for at stoppe hacker, enhver hacker ville nok keder sig ret meget på den anden side af mit logind. Har sku ikke det store at skujle :)
if($fil_stoerrelse > $konfiguration["max_stoerrelse"]) { die("Desværre - filen er for stor. Jeg accepterer kun {$konfiguration["max_stoerrelse"]}kb, og din fil fylder ".ceil($fil_stoerrelse)."kb"); }
Okay, undskyld jeg har selv leget lidt og sat <input type='hidden' name='MAX_FILE_SIZE' value='100000' />
ind, den har jeg sat til de samme værdier som $konfiguration["max_stoerrelse"]
Men ikke taget højde for at den ikke arbejde i sammen størrelses orden. Men hvordan får man så <input type='hidden' name='MAX_FILE_SIZE' value='100000' /> til at aktivere fejl meddelesen? Sender den en værdi eller noget man kan teste?
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.