Avatar billede dennism Nybegynder
02. januar 2004 - 21:10 Der er 2 kommentarer og
2 løsninger

HTML/PHP: File-form

Jeg skal have lavet et billedgalleri i PHP/mySQL.. Der skal laves en form hvor brugeren kan uploade billeder, men hvordan gøres dette på bedste måde?

Kan man lave en form-felt, hvor brugeren kan vælge flere filer, eller er man nødt til først at spørge hvor mange billeder galleriet skal indeholde, og så printe det antal file-forms?

Er lidt i tvivl om hvordan jeg skal dribe det an. Søger bare lidt fornuftig hjælp.
Avatar billede ahv Nybegynder
02. januar 2004 - 21:13 #1
Du skal lave et nyt file felt til hvert billede, jeg har på et tidspunkt lavet et flere filers uploa dscript, du kan prøve at se på det (det hænger lige sammen med en delete funktion også, men du kan vel se princippet):

<?php
mysql_pconnect("host","user","pass");
mysql_select_db("db");
if(isset($_GET['id'])) {
    $query = mysql_query("SELECT * FROM gallery WHERE id='$_GET[id]'");
    $row = mysql_fetch_array($query);
    mysql_query("DELETE FROM gallery WHERE id='$_GET[id]'");
    @unlink("mappe/".$row['filename']);
}

if (isset($_POST['up'])) {
    $i = 0;
    while (list($name, $value) = each($_FILES['upfil']['name'])) {
        if ($value) {
            $dist = $_SERVER["DOCUMENT_ROOT"] ."/gallery/";
            $files = $value;
            $temparr = explode(".", $files);
            $temparr[count($temparr)-2] = time();
            $files = implode(".", $temparr);
            $rand = rand(1,100000);
            $files = "$rand$files";
            move_uploaded_file($_FILES['upfil']['tmp_name'][$i], $dist . $files);
            mysql_query("INSERT INTO gallery (time, filename) VALUES (now(), '$files')");
        }
        $i++;
    }
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
<?php
for ($s = 0; 10 > $s; $s++) {
?>
Fil til upload
<input type="file" name="upfil[]"><br>
<?php
}
?>
<input type="submit" value="Upload" name="up">
</form>

<?php
$query = mysql_query("SELECT * FROM gallery");
while ($row = mysql_fetch_array($query)) {
    echo "<a href='$_SERVER[PHP_SELF]?id=$row[id]'>Slet $row[filename]</a><br>";
}
?>
Avatar billede dennism Nybegynder
02. januar 2004 - 21:18 #2
Dit script vil så printe 10 file-forms, ik sandt?
Avatar billede ahv Nybegynder
02. januar 2004 - 21:21 #3
Korrekt, dette kan du så lave en variable som brugeren kan rette i efter behag.
Avatar billede dennism Nybegynder
25. januar 2004 - 01:58 #4
.lukker, og vi deler
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