18. oktober 2010 - 09:41
Der er
4 kommentarer og
1 løsning
Lav en fileupload function
Hejsa alle eksperter. Jeg sidder her og er kommet i tvivl om det er muligt at lave en function til at oploade mine filer gennem. Det jeg ikke er sikker på er om det vil kunne lade sig gøre ved at lave en function der minder om denne her:
function uploadFile($target, $fil){
Selve upload koden her
}
Det jeg er i tvivl om er om den vil kunne finde ud af det hvis at man smider "$_FILES['file_field_name']" ind i en anden variabel.
og så kalder den ned gennem min function på den her måde:
$fil['tmp_name']
19. oktober 2010 - 11:05
#3
Vil også lige smide den function op jeg selv har siddet og lavet. Udover at den uploader så smider den også informationerne ind i databasen. Ville være cool med lidt konstruktivt kritik på den.
Den del af koden som indsætter i databasen, er lavet på baggrund af at der måske skal indsættes flere informationer i samme tabel efter i hinanden men på forskellige steder.
Index.php kode:
if(isset($_POST['add'])){
$db_created = 'yes'; //Is the row in the tabel already created.
$target_db = 'img'; //The tabel wich the img-path will be placed in.
$target_row = 'I_PATH2'; //Name of the column the path shoud be placed in.
$target = 'img/'; //Folder to place the file in.
$file = $_FILES['img']; //Name of the input field.
$maxsize = '5' * 1024 * 1024; //"x" = maximum size of the file in megabytes.
$type = 'image'; //Type of file. "data" for pdf-, "image" for image-files.
uploadFile($db_created, $target_db, $target_row, $target, $file, $maxsize, $type);
}
function.php kode:
function uploadFile($db_created, $target_db, $target_row, $target, $file, $maxsize, $type){
$error = "";
if($type == "image"){
if(($file["type"] == "image/jpeg") || ($file["type"] == "image/jpg") || ($file["type"] == "image/png")){
$filetype = true;
} else {
$error = $error . 'Fil typen er ikke understøttet som billedfil.<br />';
}
} else if($type == "data"){
if(($file["type"] == "application/pdf")){
$filetype = true;
} else {
$error = $error . 'Fil typen er ikke understøttet som datafil.<br />';
}
}
if($maxsize == ""){
$size = true;
} else {
if($file["size"] < $maxsize){
$size = true;
} else {
$error = $error . 'Filen er for stor.<br />';
}
}
if(file_exists('img/' . $file["name"])){
$exists = true;
$error = $error . 'Filen: ' . $file["name"] . ' eksisterer allerede.<br />';
} else {
$exists = false;
}
if($filetype == true && $size == true && $exists == false){
move_uploaded_file($file["tmp_name"], $target . $file["name"]);
echo 'Upload lykkedes. Din fil er gemt her: ' . $target . $file["name"];
if($db_created == "no"){
$path = $file['name'];
mysql_query("INSERT INTO " . $target_db . " (" . $target_row . ") VALUES ('" . $path . "')");
} else if($db_created == "yes"){
$idquery = mysql_query("SELECT I_ID FROM " . $target_db . " ORDER BY I_ID DESC LIMIT 1");
$idrow = mysql_fetch_assoc($idquery);
$id = $idrow['I_ID'];
$path = $file['name'];
mysql_query("UPDATE " . $target_db . " SET " . $target_row . "='" . $path . "'");
}
} else {
echo $error;
}
}