Avatar billede jimjimjam Nybegynder
04. maj 2005 - 13:57 Der er 38 kommentarer og
1 løsning

Upload side

Hej exp.dk

Jeg har tænkt lidt over at lave lidt til min hjemmeside (www.hybbe.dk)

Princippet skal være som her: http://www.brughjelmen.dk/gyffe/

Jeg vil gerne så det f.eks. kun er mig og en anden der har adgang til at uploade billeder / andre filer.. (Bemærk jeg skal kunne gi linket vidre til personer som kan se dem)

Skal jeg så til at rode med mysql?

Kan dette laves?
Avatar billede hyberpreprocessor Nybegynder
04. maj 2005 - 13:59 #1
nææ, ingen mysql nødvendig.

Du kan jo kigge nærmere på

www.thedeathart.dk/cms/oopgalleri
eller
www.thedeathart.dk/upload/index.phps
Avatar billede jimjimjam Nybegynder
04. maj 2005 - 14:01 #2
Uhha det ser kompliceret ud :/
Avatar billede hyberpreprocessor Nybegynder
04. maj 2005 - 14:03 #3
er det ikke, der skal stort set ingen redigering til. specielt ikke nr. 2
Avatar billede hyberpreprocessor Nybegynder
04. maj 2005 - 14:04 #4
(og du kan faktisk ikke få noget som helst der er simplere :] )
Avatar billede jimjimjam Nybegynder
04. maj 2005 - 14:04 #5
Kan du fortælle mig hvad jeg skal redigere, og hvad jeg skal gøre i korte træk :)
Avatar billede hyberpreprocessor Nybegynder
04. maj 2005 - 14:06 #6
hvilet et ?

www.thedeathart.dk/upload/index.phps skal bare ligges ind i en mappe som index.php , og mappen skal have CHMOD 777.

Hvis du er totalt uerfarn med php kan det dog gå hen og blive en problem, så læs en tutorial www.webcafe.dk/artikler/php
Avatar billede jimjimjam Nybegynder
04. maj 2005 - 14:23 #7
Har fået det fixet nu! og chmod til 777 !

Hvad skal jeg gøre for at rette?

Warning: move_uploaded_file(skildpadde-18.jpg): failed to open stream: Permission denied in /hsphere/local/home/hybbe/hybbe.dk/Upload/Upload.php on line 17

Warning: move_uploaded_file(): Unable to move '/tmp/phpObd62v' to 'skildpadde-18.jpg' in /hsphere/local/home/hybbe/hybbe.dk/Upload/Upload.php on line 17
Fejl
Avatar billede jimjimjam Nybegynder
04. maj 2005 - 17:32 #8
...
Avatar billede jimjimjam Nybegynder
04. maj 2005 - 19:00 #9
kom så drenge :)
Avatar billede jimjimjam Nybegynder
05. maj 2005 - 16:29 #10
..
Avatar billede sukos Juniormester
05. maj 2005 - 17:48 #11
Har ikke kikket på linkene, men du kan jo starte med dette: (husk chmod til 0777!!!)

<?php
session_start();

$start_path = $_SERVER["DOCUMENT_ROOT"];
$dir = "/galleri/";

$dist =  $start_path . $dir; // Hvor skal filen ligge???? Husk chmod af dir!

$user_login = array("admin" => "pass", "bruger" => "b_pass"); // Brugernavne og passwords

if(isset($_POST["bruger"], $_POST["password"])) {
    if(false !== (array_key_exists($_POST["bruger"], $user_login)) && $_POST["password"] == $user_login[$_POST["bruger"]]) {
        $_SESSION["user"] = 1;
        }else{
        $_SESSION["besked"] = "Forkert brugernavn og/eller password";
        }

header("Location:". $_SERVER["PHP_SELF"] ."");
exit();
}


if (isset($_SESSION["user"], $_FILES["upfile"])) {

    if(is_uploaded_file($_FILES["upfile"]["tmp_name"])) {
        if(move_uploaded_file($_FILES["upfile"]["tmp_name"], $dist . $_FILES["upfile"]["name"])) {
        $_SESSION["besked"] = "Filen, ". $_FILES["upfile"]["name"] ." er uploadet. <a href=\"". $dir . $_FILES["upfile"]["name"] ."\">". $_FILES["upfile"]["name"] ."</a>";
        }else{
        $_SESSION["besked"] = "Filen blev ikke uploadet?";
        }
    }

header("Location:". $_SERVER["PHP_SELF"] ."");
exit();

}

if(isset($_GET["logud"])) {
$_SESSION = array();
session_destroy();
header("Location:". $_SERVER["PHP_SELF"] ."");
exit();
}

?>
<html><head><title>Login og upload</title></head>

<body>
<center>
<?php
if(isset($_SESSION["user"])) {

echo"<a href=\"". $_SERVER["PHP_SELF"] ."?logud=true\">Log ud</a><p>\n";

    if(is_dir($dist)) {

echo"<form enctype=\"multipart/form-data\" action=\"". $_SERVER["PHP_SELF"] ."\" method=\"post\">\n";
echo"Upload fil:<br />\n";
echo"<input name=\"upfile\" type=\"file\"> &nbsp; &nbsp; <input type=\"submit\" value=\"Upload\">\n";
echo"</form>";

    }else{
    echo"Fejl i dirangivelse!";
    }

}else{

?>

<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
Brugernavn:<br>
<input type="text" name="bruger"><br>
Password:<br>
<input type="password" name="password"><br>
<input type="submit" value="Log ind">
</form>


<?php
}

if(isset($_SESSION["besked"])) {
echo $_SESSION["besked"];
unset($_SESSION["besked"]);
}

?>
</center>
</body></html>


Eller, du sørger for at stien til dir hvor filer skal ligge, er defineret "fuldt ud"
Ikke noget med ../../dir, men
/var/www/domain.dk/dir/ eller lign.
Avatar billede sukos Juniormester
05. maj 2005 - 17:55 #12
Og så lige lidt visning af filnavne og links:

<?php
$start_path = $_SERVER["DOCUMENT_ROOT"];
$dir = "/galleri/";

$dist =  $start_path . $dir;
?>
<html><head><title>uploadede filer:</title></head>

<body>
<center>
<?php
    $d = dir($dist);
    while (false !== ($file = $d->read())) {
        if (is_file($dist ."/". $file)) {
        echo"<a href=\"". $dir . $file ."\">". $file ."</a><br />\n";
        }     
    }
    $d->close();
?>
</center>
</body></html>
Avatar billede jimjimjam Nybegynder
05. maj 2005 - 23:17 #13
OKay hvorfor får jeg denne fejl : http://www.hybbe.dk/Upload/Upload.php ? (prøv at uploade noget)

Og hvor skal jeg sætte dette hen i phpén :

<?php
$start_path = $_SERVER["DOCUMENT_ROOT"];
$dir = "/galleri/";

$dist =  $start_path . $dir;
?>
<html><head><title>uploadede filer:</title></head>

<body>
<center>
<?php
    $d = dir($dist);
    while (false !== ($file = $d->read())) {
        if (is_file($dist ."/". $file)) {
        echo"<a href=\"". $dir . $file ."\">". $file ."</a><br />\n";
        }   
    }
    $d->close();
?>
</center>
</body></html>
Avatar billede jimjimjam Nybegynder
05. maj 2005 - 23:19 #14
Glemte at sige user & kode er det samme: exp
Avatar billede jimjimjam Nybegynder
06. maj 2005 - 12:49 #15
help
Avatar billede jimjimjam Nybegynder
06. maj 2005 - 16:59 #16
..?!
Avatar billede jimjimjam Nybegynder
06. maj 2005 - 20:55 #17
Prøver igen
Avatar billede jimjimjam Nybegynder
07. maj 2005 - 23:00 #18
Ej hva dælen sker der??
Avatar billede jimjimjam Nybegynder
08. maj 2005 - 10:03 #19
..
Avatar billede jimjimjam Nybegynder
08. maj 2005 - 16:20 #20
.
Avatar billede jimjimjam Nybegynder
08. maj 2005 - 21:41 #21
.
Avatar billede jimjimjam Nybegynder
09. maj 2005 - 11:26 #22
.
Avatar billede sukos Juniormester
09. maj 2005 - 11:32 #23
jahh, jeg har ikke været hjemme nogle dage, og det er meget som vinden blæser, om der kommer mail om nye indlæg.
Men kikker lige på dit link..........
Avatar billede jimjimjam Nybegynder
09. maj 2005 - 11:32 #24
tak :)
Avatar billede sukos Juniormester
09. maj 2005 - 11:34 #25
Du skal nok sætte dir til /
$dir = "/";

for at uploade til roden af dit domain.
Men hvorfor ikke lavet et "uploaddir"
Avatar billede sukos Juniormester
09. maj 2005 - 11:36 #26
Og det her kan jo sættes ind under uploadformen
<?php
    $d = dir($dist);
    while (false !== ($file = $d->read())) {
        if (is_file($dist ."/". $file)) {
        echo"<a href=\"". $dir . $file ."\">". $file ."</a><br />\n";
        } 
    }
    $d->close();
?>
Avatar billede jimjimjam Nybegynder
09. maj 2005 - 11:38 #27
Nu har jeg ikke så meget forstand på php! Men mit script ser således ud :

<?php
session_start();

$start_path = $_SERVER["DOCUMENT_ROOT"];
$dir = "/galleri/";

$dist =  $start_path . $Upload; // Hvor skal filen ligge???? Husk chmod af dir!

$user_login = array("exp" => "exp", "bruger" => "b_pass"); // Brugernavne og passwords

if(isset($_POST["bruger"], $_POST["password"])) {
    if(false !== (array_key_exists($_POST["bruger"], $user_login)) && $_POST["password"] == $user_login[$_POST["bruger"]]) {
        $_SESSION["user"] = 1;
        }else{
        $_SESSION["besked"] = "Forkert brugernavn og/eller password";
        }

header("Location:". $_SERVER["PHP_SELF"] ."");
exit();
}


if (isset($_SESSION["user"], $_FILES["upfile"])) {

    if(is_uploaded_file($_FILES["upfile"]["tmp_name"])) {
        if(move_uploaded_file($_FILES["upfile"]["tmp_name"], $dist . $_FILES["upfile"]["name"])) {
        $_SESSION["besked"] = "Filen, ". $_FILES["upfile"]["name"] ." er uploadet. <a href=\"". $dir . $_FILES["upfile"]["name"] ."\">". $_FILES["upfile"]["name"] ."</a>";
        }else{
        $_SESSION["besked"] = "Filen blev ikke uploadet?";
        }
    }

header("Location:". $_SERVER["PHP_SELF"] ."");
exit();

}

if(isset($_GET["logud"])) {
$_SESSION = array();
session_destroy();
header("Location:". $_SERVER["PHP_SELF"] ."");
exit();
}

?>
<html><head><title>Login og upload</title></head>

<body>
<center>
<?php
if(isset($_SESSION["user"])) {

echo"<a href=\"". $_SERVER["PHP_SELF"] ."?logud=true\">Log ud</a><p>\n";

    if(is_dir($dist)) {

echo"<form enctype=\"multipart/form-data\" action=\"". $_SERVER["PHP_SELF"] ."\" method=\"post\">\n";
echo"Upload fil:<br />\n";
echo"<input name=\"upfile\" type=\"file\"> &nbsp; &nbsp; <input type=\"submit\" value=\"Upload\">\n";
echo"</form>";

    }else{
    echo"Fejl i dirangivelse!";
    }

}else{

?>

<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
Brugernavn:<br>
<input type="text" name="bruger"><br>
Password:<br>
<input type="password" name="password"><br>
<input type="submit" value="Log ind">
</form>


<?php
}

if(isset($_SESSION["besked"])) {
echo $_SESSION["besked"];
unset($_SESSION["besked"]);
}

?>
</center>
</body></html>


Jeg har tænkt at når man trykker upload skal filerne ryge hen til ; hybbe.dk/Upload/
Avatar billede sukos Juniormester
09. maj 2005 - 11:41 #28
<?php
session_start();

$start_path = $_SERVER["DOCUMENT_ROOT"];
$dir = "/Upload/";

$dist =  $start_path . $Upload; // Hvor skal filen ligge???? Husk chmod af dir!

$user_login = array("exp" => "exp", "bruger" => "b_pass"); // Brugernavne og passwords

if(isset($_POST["bruger"], $_POST["password"])) {
    if(false !== (array_key_exists($_POST["bruger"], $user_login)) && $_POST["password"] == $user_login[$_POST["bruger"]]) {
        $_SESSION["user"] = 1;
        }else{
        $_SESSION["besked"] = "Forkert brugernavn og/eller password";
        }

header("Location:". $_SERVER["PHP_SELF"] ."");
exit();
}


if (isset($_SESSION["user"], $_FILES["upfile"])) {

    if(is_uploaded_file($_FILES["upfile"]["tmp_name"])) {
        if(move_uploaded_file($_FILES["upfile"]["tmp_name"], $dist . $_FILES["upfile"]["name"])) {
        $_SESSION["besked"] = "Filen, ". $_FILES["upfile"]["name"] ." er uploadet. <a href=\"". $dir . $_FILES["upfile"]["name"] ."\">". $_FILES["upfile"]["name"] ."</a>";
        }else{
        $_SESSION["besked"] = "Filen blev ikke uploadet?";
        }
    }

header("Location:". $_SERVER["PHP_SELF"] ."");
exit();

}

if(isset($_GET["logud"])) {
$_SESSION = array();
session_destroy();
header("Location:". $_SERVER["PHP_SELF"] ."");
exit();
}

?>
<html><head><title>Login og upload</title></head>

<body>
<center>
<?php
if(isset($_SESSION["user"])) {

echo"<a href=\"". $_SERVER["PHP_SELF"] ."?logud=true\">Log ud</a><p>\n";

    if(is_dir($dist)) {

echo"<form enctype=\"multipart/form-data\" action=\"". $_SERVER["PHP_SELF"] ."\" method=\"post\">\n";
echo"Upload fil:<br />\n";
echo"<input name=\"upfile\" type=\"file\"> &nbsp; &nbsp; <input type=\"submit\" value=\"Upload\">\n";
echo"</form>";

echo"Filer i ". $dir .":";
    $d = dir($dist);
    while (false !== ($file = $d->read())) {
        if (is_file($dist ."/". $file)) {
        echo"<br />\n<a href=\"". $dir . $file ."\">". $file ."</a>";
        } 
    }
    $d->close();


    }else{
    echo"Fejl i dirangivelse!";
    }

}else{

?>

<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
Brugernavn:<br>
<input type="text" name="bruger"><br>
Password:<br>
<input type="password" name="password"><br>
<input type="submit" value="Log ind">
</form>


<?php
}

if(isset($_SESSION["besked"])) {
echo $_SESSION["besked"];
unset($_SESSION["besked"]);
}

?>
</center>
</body></html>
Avatar billede sukos Juniormester
09. maj 2005 - 11:42 #29
Hov for satan!!!
$dist =  $start_path . $Upload;

skal være

$dist =  $start_path . $dir;
Avatar billede jimjimjam Nybegynder
09. maj 2005 - 12:00 #30
Nu har jeg ændret den til ;

<?php
session_start();

$start_path = $_SERVER["DOCUMENT_ROOT"];
$dir = "/galleri/";

$dist =  $start_path . $dir; // Hvor skal filen ligge???? Husk chmod af dir!

$user_login = array("exp" => "exp", "bruger" => "b_pass"); // Brugernavne og passwords

if(isset($_POST["bruger"], $_POST["password"])) {
    if(false !== (array_key_exists($_POST["bruger"], $user_login)) && $_POST["password"] == $user_login[$_POST["bruger"]]) {
        $_SESSION["user"] = 1;
        }else{
        $_SESSION["besked"] = "Forkert brugernavn og/eller password";
        }

header("Location:". $_SERVER["PHP_SELF"] ."");
exit();
}


if (isset($_SESSION["user"], $_FILES["upfile"])) {

    if(is_uploaded_file($_FILES["upfile"]["tmp_name"])) {
        if(move_uploaded_file($_FILES["upfile"]["tmp_name"], $dist . $_FILES["upfile"]["name"])) {
        $_SESSION["besked"] = "Filen, ". $_FILES["upfile"]["name"] ." er uploadet. <a href=\"". $dir . $_FILES["upfile"]["name"] ."\">". $_FILES["upfile"]["name"] ."</a>";
        }else{
        $_SESSION["besked"] = "Filen blev ikke uploadet?";
        }
    }

header("Location:". $_SERVER["PHP_SELF"] ."");
exit();

}

if(isset($_GET["logud"])) {
$_SESSION = array();
session_destroy();
header("Location:". $_SERVER["PHP_SELF"] ."");
exit();
}

?>
<html><head><title>Login og upload</title></head>

<body>
<center>
<?php
if(isset($_SESSION["user"])) {

echo"<a href=\"". $_SERVER["PHP_SELF"] ."?logud=true\">Log ud</a><p>\n";

    if(is_dir($dist)) {

echo"<form enctype=\"multipart/form-data\" action=\"". $_SERVER["PHP_SELF"] ."\" method=\"post\">\n";
echo"Upload fil:<br />\n";
echo"<input name=\"upfile\" type=\"file\"> &nbsp; &nbsp; <input type=\"submit\" value=\"Upload\">\n";
echo"</form>";

    }else{
    echo"Fejl i dirangivelse!";
    }

}else{

?>

<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
Brugernavn:<br>
<input type="text" name="bruger"><br>
Password:<br>
<input type="password" name="password"><br>
<input type="submit" value="Log ind">
</form>


<?php
}

if(isset($_SESSION["besked"])) {
echo $_SESSION["besked"];
unset($_SESSION["besked"]);
}

?>
</center>
</body></html>

Men nu kommer fejlen "Forkert Dirangivelse"
Avatar billede sukos Juniormester
09. maj 2005 - 12:09 #31
Så ret
$dir = "/galleri/";
til
$dir = "/Upload/";
Avatar billede jimjimjam Nybegynder
09. maj 2005 - 12:19 #32
Yeah! Det virker!

Det eneste jeg mangler nu er at den skal "vise" de filer der er uploadet!
Avatar billede sukos Juniormester
09. maj 2005 - 12:25 #33
Det gør dette jo:
echo"Filer i ". $dir .":";
    $d = dir($dist);
    while (false !== ($file = $d->read())) {
        if (is_file($dist ."/". $file)) {
        echo"<br />\n<a href=\"". $dir . $file ."\">". $file ."</a>";
        }
    }
    $d->close();

sat ind lige efter uploadformen
Avatar billede jimjimjam Nybegynder
09. maj 2005 - 12:26 #34
Hvor skal det stå præcist :) ?
Avatar billede sukos Juniormester
09. maj 2005 - 12:33 #35
?

    if(is_dir($dist)) {

echo"<form enctype=\"multipart/form-data\" action=\"". $_SERVER["PHP_SELF"] ."\" method=\"post\">\n";
echo"Upload fil:<br />\n";
echo"<input name=\"upfile\" type=\"file\"> &nbsp; &nbsp; <input type=\"submit\" value=\"Upload\">\n";
echo"</form>";

echo"Filer i ". $dir .":";
    $d = dir($dist);
    while (false !== ($file = $d->read())) {
        if (is_file($dist ."/". $file)) {
        echo"<br />\n<a href=\"". $dir . $file ."\">". $file ."</a>";
        }
    }
    $d->close();

    }else{
    echo"Fejl i dirangivelse!";
    }
Avatar billede jimjimjam Nybegynder
09. maj 2005 - 13:14 #36
Hvad er det nu for en fejl jeg får ! Jeg har gjort sådan ;

<? include ("top.php") ?>
php koden her
<? include ("bund.php") ?>

Nu får jeg fejlen ; Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /hsphere/local/home/hybbe/hybbe.dk/top.php:6) in /hsphere/local/home/hybbe/hybbe.dk/Upload.php on line 3

www.hybbe.dk > Klik på upload så skriver den det
Avatar billede jimjimjam Nybegynder
09. maj 2005 - 13:17 #37
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /hsphere/local/home/hybbe/hybbe.dk/top.php:6) in /hsphere/local/home/hybbe/hybbe.dk/Upload.php on line 3

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /hsphere/local/home/hybbe/hybbe.dk/top.php:6) in /hsphere/local/home/hybbe/hybbe.dk/Upload.php on line 3
Avatar billede jimjimjam Nybegynder
19. maj 2005 - 11:22 #38
læg et svar! har fået det til at virke
Avatar billede sukos Juniormester
19. maj 2005 - 13:40 #39
ehh, er det mig du mener? :O)
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