Upload af billede til dir + MySQL DB
Hej nørder!Jeg har et ganske glimrende upload script, til at uploade billeder, men mangler lige et par funktioner. Jeg sidder nu på 10. time på eksperten, hvor jeg har prøvet at integrere spørgsmål/forslag fra andre brugere, men det er ikke gået alt for godt, og jeg er røget tilbage til basis så mange gange, at jeg nu er desperat nok til at åbne "min egen tråd" :-)
Det jeg skal bruge er følgende:
---------------------------------
- Jeg er lidt træt af, at man skal tilbage hvis en ny fil hedder det samme, som en fil der allerede er i brug. Jeg ville meget gerne kunne give disse et unikt filnavn. Mit bedste forslag er, at man laver et random-nummer i enden af dem. (Eks. fil1_021515.jpg) Kan det laves?
- Jeg ville også gerne, om filerne kunne scaleres ned til en bestemt størrelse. (Dog har punkt1 første prio :-))
Min kode ser således ud:
--------------------------------------------------------------
<?php
include("../conn.php");
$sti = "/usr/home/XXXXXX/public_html/billeder/";
$allow_files = array("jpg", "bmp", "png", "gif", "JPG", "BMP", "PNG", "GIF", );
$size = 2000000000; //I bytes
$ext = pathinfo($_FILES['upfile']['name']);
if(in_array($ext["extension"], $allow_files)) {
if(!file_exists("$sti".$_FILES['upfile'][name]."")) {
if($_FILES['upfile']['size'] <= $size) {
if(is_uploaded_file($_FILES['upfile']['tmp_name'])) {
move_uploaded_file($_FILES['upfile']['tmp_name'], "$sti".$_FILES['upfile']['name']."");
$sql = "INSERT INTO auto_billede (overskrift, billede) values (";
$sql .= "'" . mysql_escape_string($_POST['overskrift']) . "'";
$sql .= ",";
$sql .= "'" . mysql_escape_string($_FILES['upfile']['name']) . "'";
$sql .= ")";
mysql_query( $sql ) or die(mysql_error());
} else {
echo "ERROR";
}
}else {
echo "Filen fylder mere end" $size/1024 "KB";
}
} else {
echo "Filen eksisterer! Prøv evt. med et andet filnavn";
}
} else {
echo "Filtypen er ikke tilladt! Er det et billede du uploader";
}
echo "Filen er nu uploaded";
?>
-------------------------------------------------------------
Er der en superkoder, der har lyst til at kigge på ovenstående? :-)
Er der meget arbejde i det, afsætter jeg da gerne flere point. :-)
