Upload filer til server/database og generer en html med visnig af filerner.
Hej alle sammen.Lille forklaring:
Jeg er i gang med at lave et lille cms system hvor en bruger skal kunne uploade filer. jpg, png, gif, swf, pdf.
Disse filer skal lægges op på serveren og der skal sendes informationer til databasen(titel, filstørrelse, dato osv)
Når brugeren har uplaodet filerne skal der automatisk generes en php/html side som viser de filer der er blevet oploded.
Databasen er i MySQL og php version er den nyeste.
Spørgsmål:
1.
Som scriptet er lige nu skriver den ikke billed filens information ind i datebasen, hvad skal der til for at den gør dette?
2.
Hvad skal der til for at brugeren kan uploade flere filer på en gang?
3.
Er det muligt at give brugeren lov til selv at oprette en mappe til filerne?
4.
Når filerne er blevet oploadet hvad skal der til for at den generere et link(www.mitdomæne.dk/xxxxxxx.php/.html) og viser filerne?
Dette er ved jeg er kommet frem til ind til videre.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ (...)
<html xmlns="http://www.w3.org/ (...)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Uploade filer</title>
</head>
<body>
<h1>Uploade dine filer</h1>
<?php
include 'database_db_cnx.inc.php';
if(isset ($_POST['titel'])):
$titel=$_POST['titel'];
$dato=$_POST['dato'];
$beskrivelse=$_POST['beskrivelse'];
$info=$_POST['info'];
$pris=$_POST['pris'];
$redaktoer=$_POST['redaktoer'];
$ext_link=$_POST['ext_link'];
$ext_mail=$_POST['ext_mail'];
$billed_fil=$_POST['billed_fil'];
$sql="INSERT INTO uploade_int SET
titel='$titel',
dato='$dato',
beskrivelse='$beskrivelse',
info='$info',
pris='$pris',
ext_link='$ext_link',
ext_mail='$ext_mail',
billed_fil='$billed_fil' ";
$max_size = 1048576; // 1MB
$allowed_files = array("jpg", "png", "swf", "gif", "pdf"); //
if( isset($_FILES["billed_fil"]) && $_FILES["billed_fil"]["size"] > 0 )
{
if( $_FILES["billed_fil"]["size"] > $max_size )
{
echo "Filen er for stor";
}
else
{
$file_ext = strtolower( end( explode(".", $_FILES["billed_fil"]["name"]) ) );
if( !in_array($file_ext, $allowed_files) )
{
echo "Filen var ikke af den tilladte type";
}
else
{
$uploaddir = "upload/";
$uploadfile = $uploaddir . $_FILES["billed_fil"]["name"];
if( move_uploaded_file($_FILES["billed_fil"]["tmp_name"], $uploadfile) )
{
echo "Filen blev gemt";
}
else
{
echo "Filen kunne ikke gemmes - måske et problem med skriverettigheder";
}
}
}
}
echo "<div id='textblok'>";
if(@mysql_query($sql)){
echo "<div id='infoblok'>Der er oprettet en ny bog i databasen...</div>";}
else {echo "<div id='infoblok'>Der opstod en fejl :" . mysql_error(). "</div>";}
?>
<div class="link"><a href="<?php echo $_SERVER['PHP_SELF']?>">Upload flere filer</a></div>
<div class="link"><a href="administration.php">tilbage til administrationssiden >></a></div>
</div>
<?php else: ?>
<div id="textblok">
<div id="infoblok">Udflyd disse felter for at uploade nye filer:</div>
<form id="opret< nyt indhold" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="opret nyt indhold" enctype="multipart/form-data">
<div id="formtitel">Titel</div>
<input type="text" name="titel" size="24"/>
<div id="formtitel">dato</div>
<input type="text" name="dato" value="<?php echo date('d.m.Y')?>" size="24"/>
<div id="formtitel">beskrivelse</div>
<textarea name="beskrivelse" rows="4" cols="40"></textarea>
<div id="formtitel">info</div>
<textarea name="info" rows="4" cols="40"></textarea>
<div id="formtitel">pris</div>
<input type="text" name="pris" size="24" />
<div id="formtitel">redaktoer</div>
<input type="text" name="redaktoer" size="24" />
<div id="formtitel">link til onlinebestilling</div>
<input type="text" name="ext_link" size="24" />
<div id="formtitel">link til ordre-mail</div>
<input type="text" name="ext_mail" size="24" />
<div id="formtitel">Filer</div>
<input type="file" name="billed_fil" />
<input class="submit" type="submit" value="Send" />
</form>
</div>
</div>
<?php endif; ?>
</body>
</html>
Jeg er stadig på fosterstadiet med php så er jeg helt galt på den med dette script? er det overhovedet muligt at gøre det jeg ønsker?
Håber der er en venlig sjæl der kan hjælpe mig lidt videre da jeg sidder lidt fast..