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.
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>";
}
?>