08. november 2003 - 13:43
Der er
48 kommentarer og 1 løsning
Flyt fil fra en mappe til en anden
Hej. Jeg har nogle filer liggende på mit hotel, som jeg skal have mulighed for at flytte med. Hvordan går jeg det? move_uploaded_file duer ikke her, vel ?
Annonceindlæg fra gavdi
08. november 2003 - 13:47
#1
Brug rename()
08. november 2003 - 13:47
#2
det kommer jo an på om det er under upload du snakker om :)
08. november 2003 - 13:54
#3
08. november 2003 - 14:02
#4
copy != move ...
08. november 2003 - 14:07
#5
Kan du ikke bruge rename()?
08. november 2003 - 14:17
#6
detox-> Jow :O) rename flytter, copy, ja kopiere :O)
08. november 2003 - 14:32
#7
Ja, så må det jo være et svar c",)
08. november 2003 - 15:21
#8
Hm, kan ikke få det til at virke. $dir = mappe1 $file = fil.123 $kate = mappe2 rename("../uploads/$dir/$file", "../uploads/$kate/$file"); Scriptet, som ovenstående kode ligger i, ligger i en undermappe - "admin". Fra denne mappe går jeg ét niveau tilbage. Her skal jeg så ind i mappen "uploads" hvor alle de andre mapper ligger. Bla. mappe1
08. november 2003 - 15:22
#9
Hm, kan ikke få det til at virke. $dir = mappe1 $file = fil.123 $kate = mappe2 rename("../uploads/$dir/$file", "../uploads/$kate/$file"); Scriptet, som ovenstående kode ligger i, ligger i en undermappe - "admin". Fra denne mappe går jeg ét niveau tilbage. Her skal jeg så ind i mappen "uploads" hvor alle de andre mapper ligger. Bla. mappe1 og mappe2. Jeg ønsker nu, at flytte fil.123 fra mappe1 til mappe2. Men det virker som sagt ikke.
08. november 2003 - 15:27
#10
rename("../uploads/".$dir."/".$file, "../uploads/".$kate."/".$file);
08. november 2003 - 15:27
#11
$basedir = $_SERVER["DOCUMENT_ROOT"] ."/uploads/"; $dir = "mappe1/"; $file = "fil.123"; $nytdir = "mappe2/"; rename($basedir . $dir . $file, $basedir . $nytdir . $file);
08. november 2003 - 15:28
#12
umiddelbart vil jeg tro at du skal bruge den fulde sti. Anyway, så vil du aldrig "gå galt i byen", (serveropsætning), hvis du bruger den fulde sti.
08. november 2003 - 15:33
#13
En relativ sti skulle være ok. Fx: $dir = "mappe1/"; $file = "fil.123"; $kate = "mappe2/"; rename("../uploads/".$dir.$file, "../uploads/".$kate.$file);
08. november 2003 - 15:34
#14
Nu har jeg lavet det i stil med Sukos (men hvor mine variabler hedder det rigtige). Virker ikke : rename("$basedir . $dir . $file , $basedir . $kate . $file");
08. november 2003 - 15:35
#15
Det er forresten en linux-server, hvis det kan have nogen betydning.
08. november 2003 - 15:56
#16
Så er der 20 points i stedet. Mere fair.
08. november 2003 - 16:01
#17
Får du nogen fejlbeskeder?
08. november 2003 - 16:02
#18
Nej, ingen overhovedet.
08. november 2003 - 16:03
#19
Og hvordan ser din nuværende kode ud?
08. november 2003 - 16:06
#20
$basedir = $_SERVER["DOCUMENT_ROOT"] ."/uploads/"; $dir = $get["kate"]; $file = $get["file"]; rename($basedir . $dir . $file , $basedir . $kate . $file); echo "File moved"; exit;
08. november 2003 - 16:11
#21
$dir = $get["kate"]; skal nok være $_GET["kate"];
08. november 2003 - 16:11
#22
Hvordan ser adresselinien ud?
08. november 2003 - 16:12
#23
og hvad indeholder: $kate?
08. november 2003 - 16:13
#24
Nej. Det er hentet fra en database :)
08. november 2003 - 16:13
#25
$kate indeholder mappen, som filen skal flyttes til.
08. november 2003 - 16:16
#26
Prøv at se hvad dette giver: $basedir = $_SERVER["DOCUMENT_ROOT"] ."/uploads/"; $dir = $get["kate"]; $file = $get["file"]; echo $basedir . $dir . $file."<br />"; echo $basedir . $kate . $file."<br />"; exit;
08. november 2003 - 16:21
#27
/ens/uploads/mapp1fil1.doc /ens/uploads/mappe2fil1.doc
08. november 2003 - 16:23
#28
Ja, så mangler der jo en /. Hvis ellers stien er rigtig, så prøv med: $basedir = $_SERVER["DOCUMENT_ROOT"] ."/uploads/"; $dir = $get["kate"]; $file = $get["file"]; rename($basedir . $dir . "/" . $file , $basedir . $kate . "/" . $file); echo "File moved"; exit;
08. november 2003 - 16:26
#29
Ellers vil jeg satse på den relative sti: $dir = $get["kate"]; $file = $get["file"]; rename("../uploads/".$dir."/".$file, "../uploads/".$kate."/".$file); echo "File moved"; exit;
08. november 2003 - 16:29
#30
Forøvrigt skal du bemærke at du har: mapp1 skulle måske være: mappe1
08. november 2003 - 16:32
#31
Ja, det var en indtastningsfejl før :)
08. november 2003 - 16:33
#32
Ok
08. november 2003 - 16:47
#33
2 sek. Serveren skal lige have opdateret softwaren. Tager lige en halv - en times tid.
08. november 2003 - 17:35
#34
Virker heller ikke med relativ sti
08. november 2003 - 17:37
#35
Ikke engang denne virker : rename("../uploads/Dansk/midt_om_natten.doc", "../uploads/Tysk/midt_om_natten.doc");
08. november 2003 - 17:40
#36
Virker heller ikke : $bd = $_SERVER["DOCUMENT_ROOT"]; rename($bd."/uploads/Dansk/midt_om_natten.doc", $bd."/uploads/Tysk/midt_om_natten.doc"); echo "DONE"; exit;
08. november 2003 - 17:41
#37
Jeg kan tilsyneladende ikke flytte rundt på filerne.
08. november 2003 - 17:41
#38
Findes mapperne "Dansk" og "Tysk"?
08. november 2003 - 17:41
#39
Og husk forskel på små og store bogstaver.
08. november 2003 - 17:43
#40
Ja. Jeg er helt sikker - både med store og små bogstaver.
08. november 2003 - 17:44
#41
Jeg må se om jeg kan kopiere dem så - og efterfølgende slette filen.
08. november 2003 - 17:47
#42
Noo. Der var ikke s på upload ;( Det beklager jeg meget. Sikke en masse spildtid :(
08. november 2003 - 17:47
#43
Det der undrer mig er du ikke får nogen fejlmelding. Har du sat error_reporting i din 'php.ini', så kunne du måske prøve med denne linie øverst i din fil: error_reporting (E_ALL);
08. november 2003 - 17:48
#44
Men nu virker det. Mange tak.
08. november 2003 - 17:49
#45
Sådan lige pludselig?
08. november 2003 - 17:50
#46
Nej. Jeg skrev jo mappenavnet som "uploads". Men ved nærmere eftersyn så jeg, at mappen kun hed "upload".
08. november 2003 - 17:51
#47
Kommentar: webcreator 08/11-2003 17:47:48
08. november 2003 - 17:55
#48
Hmm, ok. Velbekommen, men noget tyder på din error_reporting er sat for lavt, når du ikke får fejlmelding på så noget. Sæt den til: E_ALL. Det gør det noget nemmere at programmere korrekt. c",)
08. november 2003 - 17:56
#49
Ok. Mange tak :)
Vi tilbyder markedets bedste kurser inden for webudvikling