Avatar billede RJFreelance Praktikant
02. januar 2009 - 00:00 Der er 15 kommentarer og
1 løsning

Ved upload skal filnavn ændres og skrives i en db

Hejsa
Jeg har et upload script hvor jeg skal skrive i min db, hvad filnavnet er, og jeg skal have så den ændre filnavnet.

Scriptet er dette:

<?
$uploadNeed = $_POST['uploadNeed'];
// start for loop
for($x=0;$x<$uploadNeed;$x++){
$file_name = $_FILES['uploadFile'. $x]['name'];
// strip file_name of slashes
$file_name = stripslashes($file_name);
$file_name = str_replace("'","",$file_name);
$copy = copy($_FILES['uploadFile'. $x]['tmp_name'],$file_name);
// check if successfully copied
if($copy){
echo "$file_name | Blev uploadet!<br>";
}else{
echo "$file_name | could not be uploaded!<br>";
}
} // end of loop
?>

Hvor at det nye filnavn skal være et udtræk fra en database[ID] + $x.

Hvordan klares den?
Avatar billede cronaldo Nybegynder
02. januar 2009 - 00:07 #1
når du oploader en fil vil det så altid være et NYT billede eller kan det godt overskrive? :)
Det med ID kræver du lægger noget i databasen først og DERNÆST hiver det ud igen for at opdatere det .. hvad med at bruge date("U") + $x + rand(0,999999) .. så er der MEGET lille chance for at der kan ske krydsninger :) . der skal være 999.999 bruger der trykker "upload" af en fil med samme navn - i samme sekund! :)
Avatar billede RJFreelance Praktikant
02. januar 2009 - 00:30 #2
Jeg har allerede id'et, så det er ikke problemet..  Problemet et bare hvordan jeg omdøber det ved upload.. Og ja der kan blive tale om at overskrive billedet.. Til et nyt med samme navn.
Avatar billede cronaldo Nybegynder
02. januar 2009 - 01:29 #3
okay.. det vil sige det er FILEN du skal omdøbe? ;)
Avatar billede cronaldo Nybegynder
02. januar 2009 - 01:30 #4
så er det vel bare at lave $file_name om til:


$file_name = $row[id] . $x;

:) .. det skulle jeg i hvert fald mene! :)
Avatar billede Slettet bruger
02. januar 2009 - 01:56 #5
hvad ??? vil du skrive nogle navne ind i databasen og så navngive dine filer som du uploader efter det : ???

eller vil du have dine uploadet filer til at blive skrevet ind i databasen
Avatar billede olebole Juniormester
02. januar 2009 - 04:53 #6
<ole>

Umiddelbart har cronaldo ret i sit sidste indlæg, men det kommer lidt an på, hvad du mener med plusset i "udtræk fra en database[ID] + $x". Det kunne også være:
    $file_name = $row["id"] + $x;

- alt efter om du mener addition eller konkatenering  =)

/mvh
</bole>
Avatar billede RJFreelance Praktikant
02. januar 2009 - 12:12 #7
Det er en konkatenering, men det er heller ikke problemet, jeg har allerede det nye filnavn. Det ligger i en variabel, så det er ikke problemet.

Jeg skulle bare være sikker på at når det som filen bliver kaldt når den er uploadet, er det som i mit script hedder $file_name.. Men kunne jo egentligt bare have prøvet det..
Avatar billede RJFreelance Praktikant
02. januar 2009 - 12:14 #8
Nu er problemet der er tilbage bare at jeg skal finde ud af filtypen på den uploadede fil, så jeg kan tilføje den til mit nye filnavn.
Avatar billede Slettet bruger
02. januar 2009 - 13:25 #9
$_FILES['uploadFile']['type']
Avatar billede cronaldo Nybegynder
02. januar 2009 - 13:45 #10
og så skriver du bare flg. i $file_name:

$file_name = $row[id] . $x . "." . $_FILES['uploadFile']['type'];

dog ville jeg nok bruge en variabel til endelsen - kun for at gøre det mere overskueligt..

$file_end_name = $_FILES['uploadFile']['type'];
$file_name = $row[id] . $x . "." . $file_end_name;


// cronaldo.
Avatar billede Slettet bruger
02. januar 2009 - 13:50 #11
$file = $_FILES['ufile']['type'];

$type = explode('/', $file);


$file_name = $row["id"] + $x."."$type[1];


det burde løse dit problem :)
Avatar billede Slettet bruger
02. januar 2009 - 13:51 #12
$file_name = $row["id"] + $x.".".$type[1];
Avatar billede cronaldo Nybegynder
02. januar 2009 - 14:20 #13
j_rawen han sagde jo det var en konkatenering, så det må blive:

$file_name = $row["id"] . $x.".".$type[1];
Avatar billede Slettet bruger
02. januar 2009 - 14:29 #14
hehe jeg kopieret bare det han skrev :P
Avatar billede RJFreelance Praktikant
10. august 2009 - 21:42 #15
smid svar
Avatar billede RJFreelance Praktikant
07. oktober 2010 - 12:11 #16
Lukket pga. manglende svar
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