Hjælp til upload system med MySQL
Jeg har det her script, som jeg har fundet på nettet. Jeg har dog kodet lidt ind i selv, så det passer bedre til min side og sat en privat knap på.Men nu skal jeg have sat lidt mere på den. Der er nemlig det problem, at hvis jeg uploader flere med det samme navn, så bliver der bare flere i MySQL basen, og den sletter tidligere filer. Derfor vil jeg have lavet den sikret mod dobbelt upload. altså flere uploads med samme navn.
Jeg havde forestillet mig noget med at den henter nogle informationer ud fra MySQL databasen, og ser om der allerede er en med det navn.
<?
$uploadDir = \'upload/\'; //Bibliotek hvor filer uploades til - husk chmod 777
$allowedFileTypes = array(\'odt\',\'doc\',\'pdf\'); //Hvilke filer vil vi acceptere bliver uploadet?
//Er der trykket på Upload file knappen?
if(isset($_POST[\'myUpload\']))
{
//Har vi en fil?
if(is_uploaded_file($_FILES[\'myFile\'][\'tmp_name\']))
{
//Filendelse
$extension = strtolower(pathinfo($_FILES[\'myFile\'][\'name\'],PATHINFO_EXTENSION));
//Er filen en af de filer vi gerne vil have?
if(in_array($extension,$allowedFileTypes))
{
//Vi flytter filen fra tmp til vores UPLOADDIR
if(move_uploaded_file($_FILES[\'myFile\'][\'tmp_name\'],$uploadDir . basename($_FILES[\'myFile\'][\'name\'])))
{
echo \'<h3 style=\"color:green;\">Filen (\'.basename($_FILES[\'myFile\'][\'name\']).\') er uploaded</h3><br><a href=\"upload\" target=\"_self\">se uploadede filer</a>\';
$check = $_POST[\'check\'];
$ting = $_FILES[\'myFile\'][\'name\'];
if($check == privat) {
$bruger = $_SESSION[\'brugernavn\'];
} else {
$bruger = all;};
mysql_query(\"INSERT INTO `upload` ( `navn` , `sti` , `bruger` )
VALUES ( \'$ting\' , \'$ting\' , \'$bruger\' );\");
};
}
else
{
echo \'<h3 style=\"color:red;\">Fejl - ikke i stand til at uploade filen: \'.basename($_FILES[\'myFile\'][\'name\']).\'</h3>\';
}
}
else
{
echo \'<h3 style=\"color:red;\">Forkert filtype! tilladte filtyper er: (\'.implode(\',\',$allowedFileTypes).\')</h3>\';
}
}
else
{
echo \'<h3 style=\"color:red;\">Vælg en fil!<h3>\';
}
//Vores form
echo \'<form action=\"upload.php\" method=\"post\" enctype=\"multipart/form-data\">\';
echo \'File (\'.implode(\',\',$allowedFileTypes).\'): <input type=\"file\" name=\"myFile\"><br />\';
echo \'Privat<input type=\"Checkbox\" name=\"check\" value=\"privat\"><br>\';
echo \'<input type=\"submit\" name=\"myUpload\" value=\"Upload file\">\';
echo \'</form>\';
};
?>
håber der nogen der kan hjælpe mig. Vidste ikke lige om jeg skulle lave det her spørgsmål her, eller unde MySQL...
