Kenneth Dammyr Skrevet 9. november 2006 Skrevet 9. november 2006 Hei Har et veldig enkelt upload-script her hvor jeg vil gjøre om litt på navnet til filene som lastes opp. Hvor, og hvordan, skal jeg putte inn mitt eget navn? $target_path = "bilder/"; $target_path = $target_path . basename( $_FILES['uploadedfile']['name']); if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path))
Peter Skrevet 9. november 2006 Skrevet 9. november 2006 (endret) Hei Har et veldig enkelt upload-script her hvor jeg vil gjøre om litt på navnet til filene som lastes opp. Hvor, og hvordan, skal jeg putte inn mitt eget navn? $target_path = "bilder/"; $target_path = $target_path . basename( $_FILES['uploadedfile']['name']); if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) 7255078[/snapback] Den uthevede skriften der kan f.eks. endres til 'minfil.txt' (merk at fnuttene skal være med) Endret 9. november 2006 av Nazgul
endrebjo Skrevet 9. november 2006 Skrevet 9. november 2006 (endret) PHP <?php$target_path = "bilder/"; $target_path = $target_path . $_POST['eget_navn'] . substr($_FILES['uploadedfile']['name'], -4); if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) ?> Også lager du en ekstra <input> som du kaller name='eget_navn'. <form blabla...> ... <input type="text" name="eget_navn"> ... </form> Edit: Den her legger til filendelse fra originalfilen. Hvis du vil bestemme filendelse selv er det bare til å ta vekk: '. substr($_FILES['uploadedfile']['name'], -4)' Endret 9. november 2006 av endrebjorsvik
Kenneth Dammyr Skrevet 10. november 2006 Forfatter Skrevet 10. november 2006 Tusen takk! Da har jeg klart å modifisere nyhetsystemet Saxon(veldig bra system forsåvidt) slik at man kan legge inn et bilde til hver artikkel som dukker opp sammen med artikkelen Siden PHP for life
Ernie Skrevet 10. november 2006 Skrevet 10. november 2006 PHP <?php$target_path = "bilder/"; $target_path = $target_path . $_POST['eget_navn'] . substr($_FILES['uploadedfile']['name'], -4); if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) ?> Også lager du en ekstra <input> som du kaller name='eget_navn'. <form blabla...> ... <input type="text" name="eget_navn"> ... </form> Edit: Den her legger til filendelse fra originalfilen. Hvis du vil bestemme filendelse selv er det bare til å ta vekk: '. substr($_FILES['uploadedfile']['name'], -4)' 7255172[/snapback] Grøss og gru. Hardkoding av verdier i en slik sammenheng er ikke noe jeg er særlig fan av. Det er ikke slik at en filendelse må være 3tegn. jpeg og mpeg er gode eksempler på akkurat det. Derfor blir det etter min mening ganske hårete å hardkode inn på den måten. En løsning ala substr(filnavn, strrpos(filnavn, '.')) mye bedre.
Gjest Slettet-rXRozPkg Skrevet 10. november 2006 Skrevet 10. november 2006 (endret) Men bare litt, for man kan jo også ha punktum i filnavnet (eller ikke ha noen filendelse i det hele tatt), hvor mange virus blir ikke sendt på mail som "sepådettebildet.jpg.exe" eller tilsvarende, og strpos treffer jo på det første første tegnet av det den søker etter. Endret 10. november 2006 av Slettet-rXRozPkg
Ernie Skrevet 10. november 2006 Skrevet 10. november 2006 Men bare litt, for man kan jo også ha punktum i filnavnet (eller ikke ha noen filendelse i det hele tatt), hvor mange virus blir ikke sendt på mail som "sepådettebildet.jpg.exe" eller tilsvarende, og strpos treffer jo på det første første tegnet av det den søker etter. 7259476[/snapback] Hvis du leser litt nøye bruker jeg strRpos, altså finner jeg siste punktum. Hvis man samtidig sjekker at retur-verdi ikke er false veit man i tillegg at det faktisk er et punktum der. Med andre ord, med litt smart koding skal det endel til før man er på bærtur
allyse Skrevet 10. november 2006 Skrevet 10. november 2006 Men bare litt, for man kan jo også ha punktum i filnavnet (eller ikke ha noen filendelse i det hele tatt), hvor mange virus blir ikke sendt på mail som "sepådettebildet.jpg.exe" eller tilsvarende, og strpos treffer jo på det første første tegnet av det den søker etter. 7259476[/snapback] Ernie linka nå til en reversert funksjon. Den finner den siste
endrebjo Skrevet 10. november 2006 Skrevet 10. november 2006 Men skal vi først være nøyaktige med filendelsene, så trengs det to punktum til .tar.gz og .tar.bz(2). Da er vi like langt.
Peter Skrevet 10. november 2006 Skrevet 10. november 2006 (endret) Men skal vi først være nøyaktige med filendelsene, så trengs det to punktum til .tar.gz og .tar.bz(2). Da er vi like langt. 7260808[/snapback] nei, tar.gz er en gzipped fil, altså et arkiv, som i dette tilfellet inneholder et tar-arkiv. Om jeg kaller filen min exe.txt.zip så er fortsatt bare filen min et zippet arkiv, med noe i. Og uansett hvordan du vrir og vender på det, så er det et poeng å ikke hardkode størrelser. Endret 10. november 2006 av Nazgul
endrebjo Skrevet 10. november 2006 Skrevet 10. november 2006 Og uansett hvordan du vrir og vender på det, så er det et poeng å ikke hardkode størrelser. 7260893[/snapback] Jeg prøvde ikke å forsvare min metode (jeg vet at den er stygg, men det var det eneste jeg kom på), men jeg ville se en måte man kunne løse det enda bedre på.Selv om det bare er en GZipped fil, trenger vi i allikevel å vite at det er et .tar-arkiv.
genstian Skrevet 10. november 2006 Skrevet 10. november 2006 Lag ei liste over alle fil endelsene du trenger (tillatter) og sjekk opp mot den. Måte sikkrere.
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå