Permalänk
Medlem

PHP: Rename krånglar..

rename($_FILES['file']['tmp_name'], $file_dir - $ext); funkar inte :/

Egentligen vill jag ta ett filnamn, o sen lägga in (randomnumber) precis innan ändelsen..

Visa signatur

Swec @ 2001 / Chalmerist - Javisst!
'Den som har flest prylar när han dör vinner!'

Permalänk
Medlem

Re: PHP: Rename krånglar..

Citat:

Ursprungligen inskrivet av Zapher
$file_dir - $ext

Vad ska "-" göra där?

Permalänk
Medlem

Jag vet inte.. Symbolisk kanske

Försöker göra såhär nu:

rename($_FILES['file']['tmp_name'], "temp/" . str_replace($ext, 1 . $ext, $_FILES['file']['tmp_name']));

Men det går inget vidare.

Visa signatur

Swec @ 2001 / Chalmerist - Javisst!
'Den som har flest prylar när han dör vinner!'

Permalänk
Medlem

Vad är det du vill åstakomma?

Permalänk
Medlem

Jag vill flytta över tempfilen till en temp/-mapp och samtidigt ta bort ändelsen, lägga till ett nummer och lägga till ändelsen..

bla.jpg blir t ex bla(1).jpg

Edit:

rename($_FILES['file']['tmp_name'], $temp_dir); str_replace($ext, "hej", $temp_dir);

Kör jag nu, funkar inte heller ! :/

Visa signatur

Swec @ 2001 / Chalmerist - Javisst!
'Den som har flest prylar när han dör vinner!'

Permalänk
Medlem

tempfilen förflyttas ju sedan till den mapp du angivit, så det är väl namnet ['name'] och inte temp namnet ['tmp_name'] du ska ändra?

jaja här är något jag knåpat ihop=)

$filnamn = $_FILES['userfile']['name']; $langd = strlen($filnamn); $andelse = strlen(strrchr($filnamn, '.')); $inlagg = "(1)"; $filnamn2 = substr($filnamn, ($langd-$andelse)).$inlagg.substr($filnamn, $andelse);

Permalänk
Medlem

Jo, men jag har ju $ext och så har jag det nya namnet..
Varför funkar inte min ovanför då?

Visa signatur

Swec @ 2001 / Chalmerist - Javisst!
'Den som har flest prylar när han dör vinner!'

Permalänk
Medlem

Det här borde funka, har dock inte testat det så det finns säkert några småfel.

<?php $ext = strrchr($_FILES['file']['name'], "."); $name = str_replace($ext, "", $_FILES['file']['name']); $rand = substr(rand(), 0, 1); $uploadfile = "temp/" . $name . "(" . $rand . ")." . $ext; move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile); ?>

Permalänk
Medlem

Tack, men jag förstår inte $rand = substr(rand(), 0, 1);

Edit: Fattar nu

Edit2: Funkar sånär på att den inte laddar upp

<? $array = array(".jpg", ".jpeg", ".JPG", ".JPEG", ".png", ".PNG", ".gif", ".GIF"); $dir = "temp/"; $file_dir = $dir . $_FILES['file']['name']; $ext = strrchr($_FILES['file']['name'],'.'); $name = str_replace($ext, "", $_FILES['file']['name']); $rand = substr(rand(), 0, 2); $upload = "temp/" . $name . "(" . $rand . ")" . $ext; if($_FILES['file']['tmp_name']) { if(in_array($ext, $array)) { if(!file_exists($file_dir)) { //Om filen inte redan finns if(move_uploaded_file($_FILES['file']['tmp_name'], $file_dir)) { echo "<a href=\"http://zapher.no-ip.com/upload/" . $file_dir . "\">http://zapher.no-ip.com/upload" . $_FILES['file']['name'] . "</a>"; print_r($_FILES); echo "$ext"; die; } else { echo "Fel! Filen laddades inte upp!"; print_r($_FILES); die; } } else { //Om filen redan finns move_uploaded_file($_FILES['file']['name'], $upload); echo "<a href=\"http://zapher.no-ip.com/upload/" . $upload . "\">http://zapher.no-ip.com/upload/" . $upload . "</a> $rand"; print_r($_FILES); die; } } else { die("Filen har fel ändelse!"); } } else { //Uppladdningsformuläret echo "<form action=\"\" method=\"post\" enctype=\"multipart/form-data\" name=\"form1\"> <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"1000000\"> <input type=\"file\" name=\"file\"><br> <input type=\"submit\" name=\"Submit\" value=\"Skicka\"> </form>"; print_r($_FILES); } ?>

Visa signatur

Swec @ 2001 / Chalmerist - Javisst!
'Den som har flest prylar när han dör vinner!'