Kenneth Dammyr Skrevet 9. november 2006 Del 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)) Lenke til kommentar
Peter Skrevet 9. november 2006 Del 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 Lenke til kommentar
endrebjo Skrevet 9. november 2006 Del 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 Lenke til kommentar
Kenneth Dammyr Skrevet 10. november 2006 Forfatter Del 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 Lenke til kommentar
Ernie Skrevet 10. november 2006 Del 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. Lenke til kommentar
Gjest Slettet-rXRozPkg Skrevet 10. november 2006 Del 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 Lenke til kommentar
Ernie Skrevet 10. november 2006 Del 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 Lenke til kommentar
allyse Skrevet 10. november 2006 Del 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 Lenke til kommentar
endrebjo Skrevet 10. november 2006 Del 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. Lenke til kommentar
Peter Skrevet 10. november 2006 Del 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 Lenke til kommentar
endrebjo Skrevet 10. november 2006 Del 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. Lenke til kommentar
genstian Skrevet 10. november 2006 Del Skrevet 10. november 2006 Lag ei liste over alle fil endelsene du trenger (tillatter) og sjekk opp mot den. Måte sikkrere. Lenke til kommentar
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å