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.