men jeg leder efter en upload funktion som gør at man uploadet et billede med samme navn som brugetnavnet, også skal den slette den gamle fil også uploade det nye billede?
Den skal faktisk begge dele, altså den skal gemme billedet i en mappe, også skal den smide det ind i databsen hvad navn den har. men den skal ha' username's navn.
<?php $uploaddir = '/pictures/'; //Det DIR som dine billeder skal gemmes i. $uploadfile = $uploaddir . basename($_FILES['upfile']['name']); //Skulle vi ikke omdøbe filen til brugerens navn?
if (move_uploaded_file($_FILES['upfile']['tmp_name'], $uploadfile)) { echo "File is valid, and was successfully uploaded.\n"; } else { echo "Possible file upload attack!\n"; } ?>
$uploaddir = '/pictures/'; //Det DIR som dine billeder skal gemmes i. $uploadfile = $uploaddir . basename($_FILES['upfile']$_SESSION['brugernavn']); //Skulle vi ikke omdøbe filen til brugerens navn?
if (move_uploaded_file($_FILES['upfile']['tmp_name'], $uploadfile)) { echo "File is valid, and was successfully uploaded.\n"; } else { echo "Possible file upload attack!\n"; } ?>
Næsten ja! basename($_FILES['upfile']) vil give dig:
filnavn.jpg eller filnavn.php eller lign... Så du skal på en måde have fat i filnavn og .jpg. Prøv at kig på funktionen: pathinfo() og så basename('filnavn.jpg','.jpg');
$uploadfile = $uploaddir . basename($_FILES['upfile']$_SESSION['brugernavn']); //Skulle vi ikke omdøbe filen til brugerens navn?
$uploaddir = '/pictures/'; //Det DIR som dine billeder skal gemmes i. $fil_endelse = fil['extension']; $uploadfile = $uploaddir . $_SESSION['brugernavn'] . '.' . $fil_endelse;
if (move_uploaded_file($_FILES['upfile']['tmp_name'], $uploadfile)) { echo "File is valid, and was successfully uploaded.\n"; } else { echo "Possible file upload attack!\n"; } ?>
isset er korrekt ja! Men når vi har fundet $fil_endelse, så skal vi tjekke om det f.eks. er jpg, png, gif osv.. Det kan man f.eks. lave sådan: if($fil_endelse == 'jpg' || $fil_endelse == 'png' || $fil_endelse == 'gif') { echo "Filen er ok"; } else { echo "Filen er ikke god nok, prøv igen"; } ?>
Jeg kan nu godt lide at lave: if($fil_endelse == 'jpg' || $fil_endelse == 'png' || $fil_endelse == 'gif') sådan her:
$ok_filer = array('jpg','jpeg','gif','png','bmp'); if(in_array($fil_endelse,$ok_filer)) { echo "Filen er ok"; } else { echo "Filen er ikke god nok, prøv igen"; }
kan det her ikke bruges ? - der skal vel bare laves om på hvad billedets navn bliver ?
<?PHP if($_POST['up']){
// Her flyttes filen fra. $fra = $_FILES['upfil']['tmp_name'];
// Hvad er det for en fil vi har. $ext = strtolower(end(explode(".", $_FILES['upfil']['name'])));
// hvad hedder billedet $billede = $_FILES['upfil']['name'];
// Vi skal have noget information fra databasen $connection = mysql_pconnect("xxx","xxx","xxx"); mysql_select_db("xxx");
// vi henter fra databasen hvor brugernavnet er det samme som brugeren. $query = mysql_query("SELECT * from persprofil WHERE brugernavn = '$user'") or die(mysql_error()); $row = mysql_fetch_array($query);
// vi tager navnet fra den tidligere fil list($et,$to) = explode(".",$row[profilbillede]);
// Vi giver vores billede et nyt navn $nytNavn = "$et.$ext";
// her er vores destination $til = "".$_SERVER["DOCUMENT_ROOT"]."godjamit/image/" . $nytNavn;
// inden vi uploader, sletter vi lige det gamle billede unlink($_SERVER["DOCUMENT_ROOT"] ."godjamit/image/$row[profilbillede]");
// her sker det magiske move_uploaded_file($fra, $til);
// vi henter højden og breden fra billedet $info = getimagesize("$til"); $width = $info[0]; $height = $info[1];
// Vi opdatere databasen, istedet for blot at indsætte noget nyt. mysql_query("update persprofil set profilbillede = '$nytNavn',imgheight = '$height',imgwidth = '$width' WHERE brugernavn = '$user'") or die (mysql_error());
$uploaddir = '/pictures/'; //Det DIR som dine billeder skal gemmes i. $fil_endelse = fil['extension']; $uploadfile = $uploaddir . $_SESSION['brugernavn'] . '.' . $fil_endelse;
if (move_uploaded_file($_FILES['upfile']['tmp_name'], $uploadfile)) { echo "File is valid, and was successfully uploaded.\n"; } else { echo "Possible file upload attack!\n"; }
$ok_filer = array('jpg','jpeg','gif','png','bmp'); if(in_array($fil_endelse,$ok_filer)) { echo "Filen er ok"; } else { echo "Filen er ikke god nok, prøv igen"; }
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.