Avatar billede mulles.tk Nybegynder
20. oktober 2003 - 23:11 Der er 19 kommentarer og
1 løsning

upload til server

Jeg laver et nyhedssystem for en, men af en eller anden grund kan jeg ikke få uploade delen til at virke?

Han kan godt uploade siger:
http://www.nsskynewz.1go.dk/upload.php

Det må være fordi jeg ikke angiver den rigtige sti til den mappe, som den skal smide filen op i?

Personen har webhotel hos:
www.1go.dk

Prøv selv at tilføje en nyhed:
http://www.nsskynewz.1go.dk/nyhedssytem_/admin.php
(husk at vælge at den skal uploade en fil)

Koden som der må være noget galt med er:
    if ($_POST['pic'] == 1) {
        $files = $_FILES['upfil']['name'];
        $dist = $_SERVER["DOCUMENT_ROOT"] . "???";
        move_uploaded_file($_FILES['upfil']['tmp_name'], $dist . $files);
    }

Jeg har prøvet flere ting ved:
["DOCUMENT_ROOT"] . "???";

fx:
["DOCUMENT_ROOT"] . "nsskynewz/html/nyhedssystem_/";
["DOCUMENT_ROOT"] . "nsskynewz/nyhedssystem_/";
["DOCUMENT_ROOT"] . "/nsskynewz/html/nyhedssystem_/";
["DOCUMENT_ROOT"] . "/nsskynewz/nyhedssystem_/";
["DOCUMENT_ROOT"] . "/nyhedssystem_/";

Kan nogen hjælpe?
Avatar billede googolplex Novice
20. oktober 2003 - 23:15 #1
Prøv uden ["DOCUMENT_ROOT"]!
Avatar billede googolplex Novice
20. oktober 2003 - 23:17 #2
Nogen gange pejer ["DOCUMENT_ROOT"] ikke på roden (det har selv lige fået af vide :P).

Så prøv med en relatvi sti, fx:

"nsskynewz/html/nyhedssystem_/";
Avatar billede erikjacobsen Ekspert
20. oktober 2003 - 23:29 #3
Specielt på 1go.dk peger DOCUMENT_ROOT ikke på dit katalog - den er altid /var/www/hotels/1go/
Avatar billede erikjacobsen Ekspert
20. oktober 2003 - 23:31 #4
Og dit katalog hedder (formentlig)
/var/www/hotels/1go/nsskyenewz/html/
Avatar billede ohmish Nybegynder
20. oktober 2003 - 23:33 #5
prøv med

    if ($_POST['pic'] == 1) {
        $files = $_FILES['upfil']['name'];
        $dist = $_SERVER["DOCUMENT_ROOT"] . "/nsskynewz/nyhedssystem_/";
        copy($_FILES['upfil']['tmp_name'], $dist . $files);
    }
Avatar billede googolplex Novice
20. oktober 2003 - 23:34 #6
Nå ja, tror faktisk det var ham erikjacobsen der fortalte mig det :P
Avatar billede ohmish Nybegynder
20. oktober 2003 - 23:39 #7
prøv med den KORREKTE sti:
$dist = $_SERVER["DOCUMENT_ROOT"] . "/nsskynewz/nyhedssytem_/";

du har åbenbart lavet stave/tastefejl i mappens navn
Avatar billede ohmish Nybegynder
20. oktober 2003 - 23:40 #8
nyhedssytem
Avatar billede erikjacobsen Ekspert
20. oktober 2003 - 23:40 #9
Min anbefaling er at definere en

define("HOME","/var/www/hotels/1go/nsskyenewz/html/");

i toppen, og så blot:

    move_uploaded_file($_FILES['upfil']['tmp_name'], HOME . $files);

den kan så ændres hvis sitet flyttes
Avatar billede detox Nybegynder
20. oktober 2003 - 23:44 #10
ohmish -> Godt set, med den stavefejl!
Avatar billede ohmish Nybegynder
20. oktober 2003 - 23:46 #11
hehe tak.. den var jo til at overse.

men så burde det virke nu.. hva siger du mulles.tk?
Avatar billede mulles.tk Nybegynder
21. oktober 2003 - 14:53 #12
heh he... havde ikke lige set den fejl med mappens navn, men synes nu at jeg har prøvet alt, og det virker stadig ikke?

Jeg har også prøvet dette:
define("HOME","/var/www/hotels/1go/nsskyenewz/html/nyhedssytem_/");
if(isset($_POST['upload'])){
    if ($_POST['pic'] == 1) {
        $files = $_FILES['upfil']['name'];
        move_uploaded_file($_FILES['upfil']['tmp_name'], HOME . $files);
    }
    elseif ($_POST['pic'] == 2) {
        $files = "opdatering.gif";
    } else {
        $files = "nopic.gif";
    }
    mysql_query("INSERT INTO news (title, text, name, file, dato) values ('$_POST[title]', '$_POST[text]', '$_POST[name]', '$files', NOW())") or die(mysql_error());
    header("Location: index.php");

}
Avatar billede mulles.tk Nybegynder
21. oktober 2003 - 14:55 #13
Når jeg bruger koden overfor, får jeg en anden fejl:
Warning: move_uploaded_file(): SAFE MODE Restriction in effect. The script whose uid is 23334 is not allowed to access /var/www/hotels/1go owned by uid 65534
Avatar billede mulles.tk Nybegynder
21. oktober 2003 - 15:04 #14
Når jeg bruger denne kode...:

...har jeg lige set, at jeg ikke længere får fejlen "mappen findes ikke", men i stedet:
    if ($_POST['pic'] == 1) {
        $files = $_FILES['upfil']['name'];
        $dist = $_SERVER["DOCUMENT_ROOT"] . "nsskynewz/html/nyhedssystem_/";
        move_uploaded_file($_FILES['upfil']['tmp_name'], $dist . $files);
    }
Warning: move_uploaded_file(/var/www/hotels/1go/nsskynewz/html/nyhedssystem_/zapp.jpg): failed to open stream: Permission denied
Avatar billede mulles.tk Nybegynder
21. oktober 2003 - 15:05 #15
----------RETTET------------- glem forrige indlæg ;)

Når jeg bruger denne kode...:
    if ($_POST['pic'] == 1) {
        $files = $_FILES['upfil']['name'];
        $dist = $_SERVER["DOCUMENT_ROOT"] . "nsskynewz/html/nyhedssystem_/";
        move_uploaded_file($_FILES['upfil']['tmp_name'], $dist . $files);
    }

...har jeg lige set, at jeg ikke længere får fejlen "mappen findes ikke", men i stedet:

Warning: move_uploaded_file(/var/www/hotels/1go/nsskynewz/html/nyhedssystem_/zapp.jpg): failed to open stream: Permission denied

Det ser ud til at være noget med adgang?
Avatar billede detox Nybegynder
21. oktober 2003 - 15:06 #16
Du kunne måske prøve med den relative sti:

    if ($_POST['pic'] == 1) {
        $files = $_FILES['upfil']['name'];
        move_uploaded_file($_FILES['upfil']['tmp_name'], $files);
    }
Avatar billede detox Nybegynder
21. oktober 2003 - 15:07 #17
Har du cmod'et mappen: 'nyhedssystem_' til fx 0777?
Avatar billede mulles.tk Nybegynder
21. oktober 2003 - 15:21 #18
Læste godt noget om det der cmod i deres forum på: www.1go.dk

fx: http://www.1go.dk/forum2003/viewtopic.php?t=396&highlight=upload+script

...og det har jeg rettet nu og det virker!

Så mange tak for de mange forslag! ohmish får pointene for at have fundet stavefejlen, for det andet fandt jeg selv ud af! Med hensyn til stien og cmod...
Avatar billede detox Nybegynder
21. oktober 2003 - 15:25 #19
Ja, fair nok. Det var en kringlet stavefejl ;o)
Avatar billede mulles.tk Nybegynder
21. oktober 2003 - 15:26 #20
En lumsk en :D
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