Avatar billede hoell Nybegynder
20. april 2003 - 11:52 Der er 10 kommentarer og
1 løsning

Kan man overhovedet dette, og hvor går det galt?

Lidt et forsøg, men kan man overhovedet det jeg forsøger på?


$id = mysql_insert_id();
$uploaddir = 'htdocs/www/gallery1/';
(move_uploaded_file(
        $_FILES['userfile']['tmp_name'], (rename("$uploaddir . $_FILES['userfile']['name']", "$uploaddir . $id")
        ))

Jeg har på fornemmelsen at jeg ikke kan flytte og rename i samme omgang, men en god ide til, hvordan det så kan se ud modtages med glæde!
Avatar billede Slettet bruger
20. april 2003 - 12:23 #1
Går ud fra, at du bare vil følgende...
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir.$id."gif");
Filen har ikke noget navn før den er uploadet og du kan derfor ikke rename den....
Efter du har kørt ovenstående kan du rename lige så sindsygt du har lyst til!
Avatar billede benzon Praktikant
20. april 2003 - 13:06 #2
det er rigtig nok hva regin siger du laver name statement i din move_uploaded_file men vis du bruger windows vil jeg anbefale du bruger copy i stedet det er samme funktion som move men move har en lidt trist funktion til tider på windows da billederne bliver korupte
Avatar billede benzon Praktikant
20. april 2003 - 13:13 #3
http://www.php.net/manual/en/function.copy.php
http://www.php.net/manual/en/function.move-uploaded-file.php
http://www.php.net/manual/en/function.rename.php

Du kan evt lave din kode noget i stil med.

$id = mysql_insert_id();
$uploadname = $HTTP_POST_FILES['userfile']['tmp_name'];
$uploaddir = 'htdocs/www/gallery1/';
copy($HTTP_POST_FILES['userfile']['tmp_name'],"$sti.$uploadname");
rename("$uploaddir$uploadname", "$uploaddir$id.jpg");
Avatar billede hoell Nybegynder
20. april 2003 - 17:12 #4
Hvad sker der hvis man gerne vil have den til kunne klare både *.jpg og *.gif??
regin har endelsen *.gif og benzon har endelsen *.jpg. Betyder det at man kun kan lave disse funktioner, hvi endelsen er specifik, og jeg skal ud i noget med en ifelse for få det tilat lykkedes, det er da ikke smart!
Avatar billede Slettet bruger
20. april 2003 - 17:25 #5
echo $filetype = substr($_FILES['userfile']['name'],-4);

Burde give dig svaret på det!
Avatar billede hoell Nybegynder
20. april 2003 - 17:45 #6
FØlgende løste noget af problemmet:

move_uploaded_file($_FILES['userfile']['tmp_name'],"$uploaddir$id.jpg")

men hvis der har sneget sig et .gif billede ind, får den også ekstension .jpg, hvilket vel i bund og grund ikke er optimalt.
Avatar billede Slettet bruger
20. april 2003 - 17:46 #7
$filetype = substr($_FILES['userfile']['name'],-4);
move_uploaded_file($_FILES['userfile']['tmp_name'],"$uploaddir$id$filetype")
Avatar billede hoell Nybegynder
20. april 2003 - 17:47 #8
hej regin så ikke lige dit indlæg, men hvad er det der sker i den linie

echo $filetype = substr($_FILES['userfile']['name'],-4);

Skal det så se sådan her ud:

move_uploaded_file($_FILES['userfile']['tmp_name'],"$uploaddir$id.$filetype")

??
Avatar billede Slettet bruger
20. april 2003 - 17:51 #9
bare som ovenover....
eller den her er bedre når jeg tænker over det!
$filetype = @explode(".",$_FILES['userfile']['name']);
if(is_array($filetype))
{
    $filetype = $filetype[(count($filetype)-1)];
}
else
{
    $filetype = "";
}
move_uploaded_file($_FILES['userfile']['tmp_name'],$uploaddir-$id.".".$filetype");
Avatar billede hoell Nybegynder
20. april 2003 - 17:58 #10
den kan jeg ikke få til at virke!
Avatar billede Slettet bruger
20. april 2003 - 18:01 #11
Argh da... lille rettelse!
move_uploaded_file($_FILES['userfile']['tmp_name'],$uploaddir.$id.".".$filetype");
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