Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP: Multifile upload

Jorgga [05.01.2006 23:46:57]

#

Tällä koodilla voi uppia palvelimelle vaikka kuinka monta filua

(Paranneltu versio Kuhan Multi uppload sriptasta toimii varmasti)

<?php
ob_start();


define("MAX_COUNT", 1); // määritetään että kuinka monta tiedostoa voidaan kerralla tallentaa serverille
define("UPLOAD_DIRECTORY", "upload/"); // määritellään tiedostojen uusi koti, eli minne tiedostot upitetaan
define("MAX_SIZE", 2000000); // yksittäisen tiedoston maksimikoko
define("INDEX_PAGE", "kuvat.php"); // määritetään redirect sivu

if(!is_dir(UPLOAD_DIRECTORY)) {
        mkdir(UPLOAD_DIRECTORY, 0777); // jos hakemistoa ei ole olemassa, luodaan sellainen
}

if (IsSet($_FILES['file1'])) { // tarkistetaan että edes ensimmäinen kuva on tallentunut servulle temp hakemistoon, aloitetaan upitus
        for($i=1; $i<=MAX_COUNT; $i++) {

                if($_FILES['file'.$i]['size'] > MAX_SIZE) { echo "Liian iso tiedosto!<br>".MAX_SIZE." on raja"; break; }

                if(file_exists(UPLOAD_DIRECTORY.$_FILES['file'.$i]['name'])) { exit($_FILES['file'.$i]['name']." niminen tiedosto on jo serverillä"); }


move_uploaded_file($_FILES['file'.$i]['tmp_name'], UPLOAD_DIRECTORY.$_FILES['file'.$i]['name']); // tallennetaan tiedosto serverille


        }
}
?>
        <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" ENCTYPE="multipart/form-data">
        <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="102400000">
<?php
for($i=1;$i<=MAX_COUNT;$i++) {
        echo "  <b>$i</b> <input type=\"file\" name=\"file".$i."\" size=\"75\" ><br>";
}

?>      <input type="submit" value="upload" ></form><?php

ob_end_flush();
exit;
?>

Vastaus

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

Tietoa sivustosta