Avatar billede Slettet bruger
29. februar 2004 - 18:05 Der er 17 kommentarer og
1 løsning

kan ikke flytte fil til mappe, men kun til roden af hjemmesiden

håber meget i kan hjælpe mig

dette virker:


$conf["from_form"] = "FILE";
$conf["folder"] = "";
$conf["maxsize"] = "10240";

$conf["type"] = $_FILES[$conf["from_form"]]["type"];
$conf["from"] = $_FILES[$conf["from_form"]]["tmp_name"];
$conf["to"] = $conf["folder"] . $_FILES[$conf["from_form"]]["name"];
$conf["filesize"] = filesize($conf["from"])/1024;


if($conf["filesize"] > $conf["maxsize"]) {
  echo("Desværre - filen er for stor. Maxstørrelse for upload er " .
      $conf["maxsize"] . "kb, og din fil fylder " .
      ceil($conf["filesize"], 1) . " kb");
}


if(function_exists("move_uploaded_file")){
    move_uploaded_file($conf["from"], $conf["to"]);
} else {
    copy($conf["from"], $conf["to"]);
}


dette virker ikke:


$conf["from_form"] = "FILE";
$conf["folder"] = "/files/";
$conf["maxsize"] = "10240";

$conf["type"] = $_FILES[$conf["from_form"]]["type"];
$conf["from"] = $_FILES[$conf["from_form"]]["tmp_name"];
$conf["to"] = $conf["folder"] . $_FILES[$conf["from_form"]]["name"];
$conf["filesize"] = filesize($conf["from"])/1024;


if($conf["filesize"] > $conf["maxsize"]) {
  echo("Desværre - filen er for stor. Maxstørrelse for upload er " .
      $conf["maxsize"] . "kb, og din fil fylder " .
      ceil($conf["filesize"], 1) . " kb");
}


if(function_exists("move_uploaded_file")){
    move_uploaded_file($conf["from"], $conf["to"]);
} else {
    copy($conf["from"], $conf["to"]);
}


forskel:

$conf["folder"] = ""; ændret til $conf["folder"] = "/files/";
Avatar billede Slettet bruger
29. februar 2004 - 18:07 #1
har desuden også prøvet med:

$conf["folder"] = "../files/";
$conf["folder"] = "./files/";
$conf["folder"] = "files/";


skal lige siges, at det er et subdomæne..
Avatar billede jakoba Nybegynder
29. februar 2004 - 18:13 #2
$conf["to"] = $conf["folder"] . $_FILES[$conf["from_form"]]["name"];
echo $conf['to'] ."\n";  //DEBUG LINIE

lad os se hvad der står i £conf['to'] om det er en lovlig adresse.

PS: når din mappesti starter med '/' gar stien fra roden af dit domæne.
Avatar billede Slettet bruger
29. februar 2004 - 18:16 #3
giver "files/slet.bmp"

mappen hedder files og ligger i roden, og min upload.php ligger også i roden..
Avatar billede jakoba Nybegynder
29. februar 2004 - 18:21 #4
og du staver mappen rigtigt. det er ikke dansk 'filer' istedet for engelsk 'files' ?
Avatar billede Slettet bruger
29. februar 2004 - 18:23 #5
ja.. jeg har kaldt den files..
Avatar billede jakoba Nybegynder
29. februar 2004 - 18:29 #6
har du prøvet med http://dk.php.net/manual/en/function.move-uploaded-file.php
istedetfor copy? om ikke andet er den sikrere.

skriv en linie
  error_reporting( E_ALL );
øverst i dit script. så får du alle fejl og varnings med og evt også info om hvorfor filen ikke bliver flyttet.
Avatar billede Slettet bruger
29. februar 2004 - 19:00 #7
der kommer ikke nogen errors eller warnings med error_reporting(E_ALL);.. filen bliver bare ikke flyttet...
Avatar billede Slettet bruger
29. februar 2004 - 19:11 #8
$_SERVER["DOCUMENT_ROOT"] . "/files/"; giver /web/www/frac/users/files/.. domænet er http://balder.frac.dk/. skulle $_SERVER["DOCUMENT_ROOT"] . "/files/"; så ikke give noget lignende /web/www/frac/balder/files??
Avatar billede jakoba Nybegynder
29. februar 2004 - 19:14 #9
har du kikket på hvad chmod setting der er i den mappe? for at oprette en fil in mappen skal dit script have skrive-rettigheder i mappen (men det burde søreme give en melding fra php).
Avatar billede Slettet bruger
29. februar 2004 - 19:16 #10
jeg kan uploadet til root, så jeg tror ikke, der er specifikationer på mappen files, der er en undermappe til root..
Avatar billede Slettet bruger
29. februar 2004 - 19:21 #11
jeg har lige set i websitets forum, og der løser en admin problemet med at sætte mappens chmod til 777, som du også nævner.. men hvordan gør man det?? er det noget med at have en .htacces fil liggende med en reference til mappen files?? og i så fald, hvad skal man da skrive??
Avatar billede Slettet bruger
29. februar 2004 - 19:32 #12
jeg har givet alle rettigheder til alt dvs at ejer, gruppe og alle medlemmer kan læse skrive og køre, og har nu fået det til at virke..

jeg ændrede det ved at højreklikke på mappen, vælge egenskaber og sætte hak i alle felterne.. dernæst rettede jeg i skriptet /files/ til files.. taxa jakoba.. smid et svar.. nu virker det.. weepee...
Avatar billede jakoba Nybegynder
29. februar 2004 - 19:48 #13
det du specificerer i en .htacces fil bliver arvet af undermapper til den mappe hvor htaccess ligger. men det bliver en chmod indstilling ikke. der en individuel for hver fil og mappe.
Avatar billede Slettet bruger
29. februar 2004 - 19:50 #14
ok, så forstår jeg bedre.. endnu engang tak..
Avatar billede jakoba Nybegynder
29. februar 2004 - 19:51 #15
PS: det er nok lidt overkill at tillade ALLE at skrive/læse/udføre filer i den mappe. dine scripts ejes af dig (owner) så owner skal kunne skrive, andre behøver kun at kunne læse og måske udføre.
Avatar billede Slettet bruger
29. februar 2004 - 19:55 #16
hvad skal man så sætte den til, hvis man vil have, at brugere skal kunne uploade og se filer? skal alle så bare kunne læse og skrive? og hvad betyder køre? er det f.eks. java-applets?? eller hvordan skal det forstås?
Avatar billede jakoba Nybegynder
29. februar 2004 - 20:50 #17
køre er fx .exe filer. hvis jeg uploader en til din side skal jeg så have lov at køre den? fx minvirus.exe ?

Jeg er ikke alt for superstiv i hvem der er hvem i de 3 chmod grupper. de php scripts du har er jeg ret sikker på er enten user eller ovner.  prøv forskellige kombinationer og se havd der duer.
Avatar billede Slettet bruger
29. februar 2004 - 21:01 #18
ok.. tak for hjælpen..
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