Wímena

Upload script

28.12.2009 14:18

Autor: VireL
Popis: Script pre upload s funkciou povolenia pripon(whitelist)
Uploadne subor s povolenou priponou a velkostou do zvoleneho vytvoreneho priecinka.
Pripony zadavajte bez bodiek.

<?php
###########################
#------Upload script------#
#--------By VireL---------#
#----------For------------#
#-http://www.pcforum.sk/--#
#------Thx for using------#
###########################

//Velkost v B
define("VELKOST", "150528");
//Priecinok kde ukladat subory
$priecinok = "uploads";
//Povolene pripony
$pripony = array("gif", "GIF", "jpg", "JPG", "jpeg", "JPEG", "png", "PNG", "rar", "RAR", "zip", "ZIP");
//Rozdelenie pripon
$b = 0;
foreach($pripony as $pripona)
{
  $b++;
  if(count($pripony) == $b)
    {$allow .= "\.".$pripona;}
  else
    {$allow .= "\.".$pripona."|";}
}
//Urcenie ID nazvu suboru, podla poctu suborov
$id = 0;
$open = opendir($priecinok);
   while ($files = readdir($open))
   {
      $filename = $files;
      if ($filename != "." and $filename != "..")
      {
         $id++;       
      }
   }
//Formular
echo "<form method='post' action'".$_SERVER['PHP_SELF']."' enctype='multipart/form-data'>";
echo "<input type='file' name='subor'><br>";
echo "<input type='submit' name='upload' value='Upload'></form>";
//Podmienka ci bol odoslany formular, ci subor existuje a ci pripona suhlasi
if(isset($_POST['upload']) and
is_uploaded_file($_FILES["subor"]["tmp_name"]) and
preg_match("/(".$allow.")$/", $_FILES["subor"]["name"]))
{
  if($_FILES["subor"]["size"] <= VELKOST)//Kontrola velkosti
  {
    if(!file_exists($priecinok."/".$id."-".$_FILES["subor"]["name"]))//Ci neexistuje subor s rovnakym menom
    {
      $meno = $id."-".$_FILES["subor"]["name"];
      move_uploaded_file($_FILES["subor"]["tmp_name"], $priecinok."/".$meno);
    }
    else//Ak ano funkcia rand() zvoli nahodnu hodnotu
    {
      $meno = $id."-".rand(0, 99999)."-".$id."-".$_FILES["subor"]["name"];
      move_uploaded_file($_FILES["subor"]["tmp_name"], $priecinok."/".$meno);
    }
    echo "<a href='".$priecinok."/".$meno."'>Link na subor</a>";//Link na subor
  }
  else//Ak je velkost presahujuca
  {
    echo "Subor je prilis velky :(";
  }
}

?>

Späť

Vyhľadávanie

© 2009-2010 Stránku vytvoril X-Pa3k!

TOPlist