Rigo Skrevet 5. mars 2012 Del Skrevet 5. mars 2012 (endret) Hei igjen! Jeg lurer denne gangen på hvordan man kan flytte en fil med PHP. Jeg er klar over at man kan bruke en form for flytte funksjon, men problemet mitt er at jeg ønsker en form som du kan skrive inn det nye "pathen". Jeg er helt på bærtur, men har selve ideen i hodet. Har prøvd med noe så enkelt som dette, men har da ikke fått til selve funksjonen. <form action="lastopp/opplastninger/flytt.php?file= <?php if(isset($_GET['file'])){ $file = $_GET['file']; echo "$file"; } ?>" method="post"> Flytt filen til: <input name="filny" type="text" value="" /> <input type="submit" /> </form> EDIT: Ser at jeg har lagt inn helt feil kode her, men har noen et forslag til en PHP funksjon jeg kan bruke til å endre plasseringen? Jeg har allerede en link som dere kanskje ser, med ?file som endelse. Et eksempel: http://mittdomene.no?file=tekst.txt og jeg ønsker å endret navnet på denne filen til hei.txt ved hjelp av en input boks. Endret 5. mars 2012 av Rigo Lenke til kommentar
MisterIT Skrevet 5. mars 2012 Del Skrevet 5. mars 2012 (endret) bruk rename() funksjonen og sett inn stien du las inn. e.g <?php rename("/tmp/tmp_file.txt", "/home/user/login/docs/my_file.txt"); ?> http://www.php.net/manual/en/function.rename.php ~edit, funksjonen overskrive eksisterende filer så det kan være lurt å lange en funksjon som kontrollere dette før det blir utført (om det er en aktuell problemstilling) Endret 5. mars 2012 av MisterIT 2 Lenke til kommentar
Rigo Skrevet 6. mars 2012 Forfatter Del Skrevet 6. mars 2012 Hvordan kan jeg forhindre overskriving av eksisterende filer? Pluss, er det mulig å låse den til en spesifikk mappe så brukere ikke kan flytte en index.php fil de selv har laget til der min ligger? Virker som om det er veldig lett å missbruke denne funksjonen.. Lenke til kommentar
Thomas. Skrevet 6. mars 2012 Del Skrevet 6. mars 2012 Hvordan kan jeg forhindre overskriving av eksisterende filer? Pluss, er det mulig å låse den til en spesifikk mappe så brukere ikke kan flytte en index.php fil de selv har laget til der min ligger? Virker som om det er veldig lett å missbruke denne funksjonen.. Du kan bruke file_exists() for å sjekke om filen finnes fra før Lenke til kommentar
Rigo Skrevet 6. mars 2012 Forfatter Del Skrevet 6. mars 2012 Takk, men er det mulig å "låse" fast flyttingen til et bestemt mappe område så folk ikke kan tukle med hele webserveren min? Lenke til kommentar
Thomas. Skrevet 6. mars 2012 Del Skrevet 6. mars 2012 Takk, men er det mulig å "låse" fast flyttingen til et bestemt mappe område så folk ikke kan tukle med hele webserveren min? Ja, det kan du jo skrive direkte i koden din. Hvilken mappe som skal skrives til. Example #1 så ser du et eksempel Lenke til kommentar
slacky Skrevet 6. mars 2012 Del Skrevet 6. mars 2012 (endret) Det gjøres slik: //Sikkerhet, ikke tillat: "..", "/", "\" samt andre tegn som ikke tillates i filnavn. //Er til for å unngå at de skal bladre seg bakover: "../" $myfile = "haha.txt"; rename("/tmp/{$myfile}", "/home/user/login/docs/{$myfile}"); Du kan vel bruke preg_match() for å spore om filene inneholder ulovlige tegn. Er heller ikke dumt å begrense hvilke filtyper som blir lastet opp. Endret 6. mars 2012 av warpie 1 Lenke til kommentar
Rigo Skrevet 6. mars 2012 Forfatter Del Skrevet 6. mars 2012 Selvfølgelig, tenker ikke alltids like klart. Tusen takk igjen! Føler jeg holder liv i PHP delen av forumet. 1 Lenke til kommentar
slacky Skrevet 7. mars 2012 Del Skrevet 7. mars 2012 (endret) For all del spør i vei. Men søk også litt selv. Etter litt så får du en samling av kode, som du selv kan bruke som refereanse/hjelp. *host.. hark: (+1)-tasten er til for å brukes* - Det hjelper andre til å se hva som var nyttige svar. Endret 7. mars 2012 av warpie 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å