siirrän lomakkeen kautta tiedoston palvelimen levylle seuraavasti:
<?php $polku = "tiedostot/".$_FILES['tiedosto']['name']; if(move_uploaded_file($_FILES['tiedosto']['tmp_name'], $polku)){ echo "Tiedoston siirto palvelimelle onnistui!"; } else{ ... Asianmukaiset vierheilmoitukset } ?>
jos haluan varmistaa, että tiedoston nimessä ei ole php-koodia niin ajan
.$_FILES['tiedosto']['name']-muuttujan mysql_real_escape_string(stripslashes()) funktion läpi.
tällöinhän annettu tiedoston nimi voi muuttua. miten saan silloin tmp_name ja name kentät vastaamaan toisiaan, jotta tiedonsiirto onnistuisi? (olikohan ns. tyhmä kysymys ;-)
Missä tilanteessa PHP-koodi tiedostonimessä haittaa? PHP käsittelee noi nimet stringeinä, niin se ei pääse vahingoittamaan mitään (Vai, jos tiedostonimi olisi (joka ei taida olla mahdollinen?) ".Pahaa_PHP_koodia.".jotain?).
vai pitäisikö nimenomaan ajatellakin niin, että jos tiedostonimi muuttuu funkkarin käsittelyssä, niin silloin talletuskin saa kaatua virheeseen!
volume kirjoitti:
miten saan silloin tmp_name ja name kentät vastaamaan toisiaan, jotta tiedonsiirto onnistuisi?
Millä tavalla vastaamaan? Tmp_name on tiedoston nimi palvelimen tmp-hakemistossa ja name tiedoston nimi lähettäjän koneella. Eihän niiden tarvitse vastata toisiaan.
Aihe on jo aika vanha, joten et voi enää vastata siihen.