Avatar billede webcreator Nybegynder
04. september 2004 - 12:50 Der er 19 kommentarer og
1 løsning

Flyt fil til anden mappe

Hej Eksperter.

Jeg synes ikke at kunne få flg. kode til at flytte en fil fra én mappe til en anden - nogen fejl ?


// Filens nuværende placering
$orgdir = "".$uploaddir."/".$output0["subject"]."";

// Filens nye placering
$newdir = "".$uploaddir."/".$subject."";

// Filen flyttes til den ønskede mappe
move_uploaded_file("$orgdir/".$output0["file"]."", "$newdir/".$output0["file"]."") or $error_upload = true;


Jeg benytter funktionen 'move_uploaded_file' - men filen findes jo faktisk allerede på serveren. Så måske funktionen er forkert?
Avatar billede arne_v Ekspert
04. september 2004 - 13:01 #1
Avatar billede arne_v Ekspert
04. september 2004 - 13:02 #2
Men jeg tror faktisk at du skal blive ved move_uploaded_file,
fordi den lyder "mere sikker".
Avatar billede webcreator Nybegynder
04. september 2004 - 13:04 #3
Jamen hvorfor virker den så ikke ? :)
Avatar billede webcreator Nybegynder
04. september 2004 - 13:05 #4
Alternativt kunne man copy() og bagefter unlink(). Så kunne man samle de to funktioner i én funktion, og lave sin egen "move()"-funktion. Men hvorfor er rename usikker ?
Avatar billede arne_v Ekspert
04. september 2004 - 13:06 #5
Prøv og udskriv de to filnavne og se om ikke der er en lille bitte fejl i en
af dem.
Avatar billede arne_v Ekspert
04. september 2004 - 13:08 #6
Hvi sman læser http://www.php.net/manual/en/function.move-uploaded-file.php så
frmegår dte klart at fordelen ved move_uploaded_file er at den kun
vil flytte uploadede filer og at det derfor er sværere ved snedig brug
af data at få den til at flytte rundt på filer som det ikke er meningen at der
skal flyttes rundt på.
Avatar billede webcreator Nybegynder
04. september 2004 - 13:09 #7
Jamen netop derfor er det vel bedre, at benytte rename() ?
Avatar billede arne_v Ekspert
04. september 2004 - 13:09 #8
Jeg er iøvrigt ikke PHP kyndig nok til at kunne vurdere hvor reel risikoen er.
Avatar billede arne_v Ekspert
04. september 2004 - 13:11 #9
Nej. rename checker nemlig ikke noget.
Avatar billede webcreator Nybegynder
04. september 2004 - 13:15 #10
Nåda :/

Hvad med ideen med copy() og unlink() ?
Avatar billede arne_v Ekspert
04. september 2004 - 13:18 #11
copy + unlink må være equivalent til rename (bare lidt langsommere hvis det
er på samme disk)
Avatar billede webcreator Nybegynder
04. september 2004 - 13:19 #12
Ok - men det kan jeg godt leve med - det er sjældent vi skal rykke rundt på filer via vores CMS. Kigger lidt på det :)
Avatar billede arne_v Ekspert
04. september 2004 - 13:25 #13
Jeg siddet lige og læser spørgsmålet igen.

Er det en uploadet fil ?

Hvis ikke så skal move_uploaded_file jo virke og du skal bruge rename.
Avatar billede webcreator Nybegynder
04. september 2004 - 13:40 #14
Filen _er_ allerede uploadet. Som jeg skrev, så ligger filerne allerede på serveren.
Avatar billede webcreator Nybegynder
04. september 2004 - 13:40 #15
Jeg kan måske godt bruge rename() alligevel så ?
Avatar billede arne_v Ekspert
04. september 2004 - 13:48 #16
Jeg tror at du skal gå efter rename
Avatar billede webcreator Nybegynder
04. september 2004 - 13:48 #17
Ok, mange tak :)
Avatar billede webcreator Nybegynder
04. september 2004 - 15:51 #18
Smider du et svar forresten ?
Avatar billede arne_v Ekspert
04. september 2004 - 15:56 #19
ok
Avatar billede webcreator Nybegynder
04. september 2004 - 18:22 #20
Taak :-)
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