Avatar billede dingkee Nybegynder
20. august 2005 - 11:55 Der er 10 kommentarer

Omdøb billed navn

Jeg har fundet et upload script, og vil nu gerne have det til at omdøbe billedet efter den id den får i database...

Hver gang jeg tilføjer et billed bliver der også tilføjet noget i databasen... og så ville det være smart hvis billedet fik samme navn som id'en som teksten havde fået i databasen...

Hvordan gør jeg det??

Min kode:
$name=$_FILES['userfile']['name'];
if(is_uploaded_file($_FILES["userfile"]["tmp_name"])){
move_uploaded_file($_FILES["userfile"]["tmp_name"],"images/$name");
Avatar billede hmortensen Nybegynder
20. august 2005 - 12:04 #1
Man kan få fat i det netop indsatte id med mysql_insert_id().
Så laver du først din SQL indsættelse, og så bruger du funktionen til at navnegive idet du flytter den uploadede fil fra tmp mappen.

mysql_query("INSERT INTO ..... ");
move_uploaded_file($_FILES['userfile']['tmp_name'], "images/".mysql_insert_id());
Avatar billede dingkee Nybegynder
20. august 2005 - 12:25 #2
Ja, det virker...

Men den laver bare navnet om, men den glemmer f.eks. .jpg

hvordan får jeg det med??
Avatar billede hmortensen Nybegynder
20. august 2005 - 12:26 #3
move_uploaded_file($_FILES['userfile']['tmp_name'], "images/".mysql_insert_id().".jpg");
Avatar billede dingkee Nybegynder
20. august 2005 - 12:31 #4
cool nok... tak for hjælpen :)

Svar = point... hehe
Avatar billede hmortensen Nybegynder
20. august 2005 - 12:33 #5
Det var så lidt.
Avatar billede dingkee Nybegynder
20. august 2005 - 12:39 #6
hmm.. det virker altså ikk optimalt... hvad nu hvis det er et gif billed man får uploadet?? så virker det lige pludselig ikke
Avatar billede Slettet bruger
20. august 2005 - 12:40 #7
Hvis du uploader andre billeder end jpg ville det måske være smart at finde ud af hvilken type fil du uploader og give den rigtige endelse.

Typen kan du finde på følgnede måde:
$ext = strtolower(end(explode('.', $_FILES['userfile']['name'])));
Avatar billede dingkee Nybegynder
20. august 2005 - 12:43 #8
Hmm okai... og hvor skal det så stå i min kode??
Avatar billede Slettet bruger
20. august 2005 - 12:45 #9
hmm så får du en kode ala:


mysql_query("INSERT INTO ..... ") or die(mysql_error());
$ext = strtolower(end(explode('.', $_FILES['userfile']['name'])));
move_uploaded_file($_FILES['userfile']['tmp_name'], "images/".mysql_insert_id().".".$ext);
Avatar billede hmortensen Nybegynder
20. august 2005 - 12:45 #10
$ext = strtolower(end(explode('.', $_FILES['userfile']['name'])));
move_uploaded_file($_FILES['userfile']['tmp_name'], "images/".mysql_insert_id().".".$ext);
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester