Kuvan lataaminen serverille sivustolta
<?php
# Tiedoston suurin sallittu koko (kt)
$max_size = 500000;
# Kirjataanko siirrot tiedostoon uploadlog.txt? ( false = Ei, true = Kyllä )
$logging = true;
# Minne kuvat kopioidaan
$hakemisto = "/hakemisto/kuva/kansioon/";
function uploadimg() {
global $hakemisto;
global $max_size;
global $logging;
$file_size = $_FILES['file']['size'];
$file_name = $_FILES['file']['name'];
$file_tmp_name = $_FILES['file']['tmp_name'];
$file_type = $_FILES['file']['type'];
# Tarkistetaan onko tiedosto jo olemassa
if (file_exists("$hakemisto" . "$file_name")) { die("Samanniminen tiedosto on jo ladattu!"); }
# Tarkistetaan onko annettu tiedosto liian suuri
if ((int)$file_size > (int)$max_size) { die("Tiedoston koko on liian suuri! Suurin sallittu koko on " . $max_size . " tavua."); }
# Tarkistetaan onko annettu tiedosto oikean tyyppinen
$type = explode("/", $file_type);
$type = $type[0];
if ($type != "image") { die("Tiedosto ei ole kuva"); }
# Siirretään tiedosto hakemistoon
move_uploaded_file ($file_tmp_name, $hakemisto . $file_name);
echo "Kuva on lisätty onnistuneesti!";
if($logging) {
$aika = date("j.m-Y, H:i:s");
$tolog = ($aika . " ||| " . $file_name . " ||| " . $file_size . "t ||| " . $file_type . "\n");
$log = fopen("uploadlog.txt", "a");
fwrite($log, $tolog);
fclose($log);
}
}
if (isset($_FILES['file'])) {
uploadimg();
}
?><form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" name="Submit" value="x"> </form>
Mihin tätä tarvitsee kun koodivinkki #812 on keksitty?
Kannattaisko tarkistaa myöskin tollanen $_FILES['file']['error'] esim. sen varalta että kuvan koko ylittää sen php.ini:ssä asetetun upload_max_filesize:n... heittää muuten erroria.
https://www.php.net/manual/en/features.file-upload.errors.php
@miiku
Jep, sen voi tehdä jos haluaa.
Tämä snippetti on vain suuntaa antava, kuinka yksinkertaisesti tuo uploadaus toimii.
Ja erittäin vanha snippetti onkin :D
Tulikin sopivasti viikonlopputarpeeseen. Helposti uppii kuvat nettiin blogeja yms. varten, tosin salasanasuojaus tuohon on varmaan väännettävä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.