Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP: Image Upload

sushi [05.07.2006 16:29:13]

#

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>

str4nd [10.07.2006 00:04:00]

#

Mihin tätä tarvitsee kun koodivinkki #812 on keksitty?

miiku [24.07.2007 17:34:56]

#

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

sushi [25.07.2007 02:50:50]

#

@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

siansaksamies [28.09.2007 15:54:18]

#

Tulikin sopivasti viikonlopputarpeeseen. Helposti uppii kuvat nettiin blogeja yms. varten, tosin salasanasuojaus tuohon on varmaan väännettävä.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta