CASE: Mysql-kantaan pohjautuva järjestelmä, johon lisätään html-lomakkeella rivejä (tekstimuotoista tietoa) ja niihin liittyviä fileksiä (kuvia). Käsittelykoodina php-skripti.
KYSYMYS: Miten saan lisätyn rivin id-numeron uploadatun tiedoston nimeksi? Id-numero kasvaa automaattisesti jokaisella lisäyskerralla. Nykyisin koodi toimii ja tiedostot siirtyvät, mutta alkuperäisillä tiedostonimillään.
Vaihtoehtoja lienee montakin... (edellisen id 1 tjsp) Mutta mites tuon saisi helpoiten?
Eli hukassa on toimintalogiikka ja toisaalta myös syntaksi.
move_uploaded_file($_FILES['kuva']['tmp_name'], $polku_johon_tallennetaan);
----jotain tuohon tyyliin.. mutta miten se uudelleennimeäminen, muuttujan mukaan...
KYSYMYS: Miten saan lisätyn rivin id-numeron uploadatun tiedoston nimeksi? Id-numero kasvaa automaattisesti jokaisella lisäyskerralla. Nykyisin koodi toimii ja tiedostot siirtyvät, mutta alkuperäisillä tiedostonimillään.
Vaihtoehtoja lienee montakin... (edellisen id 1 tjsp) Mutta mites tuon saisi helpoiten?
Eli hukassa on toimintalogiikka ja toisaalta myös syntaksi.
move_uploaded_file($_FILES['kuva']['tmp_name'], $polku_johon_tallennetaan);
----jotain tuohon tyyliin.. mutta miten se uudelleennimeäminen, muuttujan mukaan...
Vastaukset 3
Vanhimmat
jolla rivi lisätään, niin lisätyn rivin id:n saa mysql_insert_id() metodilla.
Vois siis sillä hakea sen just lisätyn id:n ja pistää sen filen nimeksi
tuolla on koodiesimerkki
http://php.net/manual/en/function.mysql-insert-id.php
nimeäminen uudelleen on että annetaan eka se temp-nimi ja viimene parametri on uuden filen nimi
$id = mysql_insert_id(blaablaablaa);
move_uploaded_file ($_FILES['kuva']['tmp_name'], "/kuvat/kuva" . $id . ".jpg");
niin se siirtää sen temp-filen tuonne /kuvat/kuva1.jpg (jos id oli 1)
Todellakin tuo mysql_insert_id() oli oikopolku onneen.. PHP:ssa on niin sankoin joukoin noita funktioita ja metodeja, etten aloittelijana ollut edes tietoinen tuollaisen olemassaolosta, vaan olisin lähtenyt toteuttamaan asiaa about 117 kertaa hankalammin =) Edellisen id 1... tjsp.. hehe heh!!
Kiitokset avusta ja asiallisesta vastauksesta.