Webmaster общности: Predpriemach.com | SearchEngines.bg

    Уплоад скрипт с …

    Автор: TiMaTa

    Урока представлява един прост ъплоад скрипт при който ще дадем правото само на някои типове файлове да могат да се качват и да има максимална големина на качване …

    Урока е само от един index.php в който ще сложим всички функции :

    <head>
    <meta http-equiv="content-type" content="text/html; charset=windows-1251" />
    </head>
    <?php
    $site_link = "LINKA"; //Лйнк към сайта ви, където се намира ъплоад формата (отзад не слагайте /)
    $upload_dir = "images/"; //Може да се смени с друга папка , която вие си пожелаете
    $size_bytes = 151200; //Големината на файла в bytes
    $extlimit = "yes"; //Да има лимит или не (yes/no)
    $limitedext = array(".gif",".jpg",".png",".jpeg"); //Разрешени файлове за качване
    //Далй папката в която ще се качват файловете съществува или не
    if (!is_dir("$upload_dir")) {
    die ("Грешка: Папката <b>($upload_dir)</b> не съществува");
    }
    
    if(isset($_POST['uploadform'])){
    // Когато полето на формата е попалнено тогава ще се качват нещата
    //Започване на ъплоад формата.
    
    $file_tmp = $_FILES['filetoupload']['tmp_name'];
    $file_name = $_FILES['filetoupload']['name'];
    //Взимане на размера на файла
    $file_size = $_FILES['filetoupload']['size'];
    
    //Показване когато не е избран файл
    if (!is_uploaded_file($file_tmp)){
    echo "Грешка : Моля изберете файл за качване!. <br>»<a href=\"$_SERVER[PHP_SELF]\">НАЗАД</a>";
    exit(); //Излиза от това и не прави нищо друго.
    }
    
    
    //Проверява дали големината на файла съвпада с допустимата
    if ($file_size > $size_bytes){
    echo "Грешка : Файла е твърде голям. Той трябва да бъде под <b>". $size_bytes / 1024 ."</b> KB. <br>»<a href=\"$_SERVER[PHP_SELF]\">НАЗАД</a>";
    exit();
    }
    //Далй файла е от допустимите
    $ext = strrchr($file_name,'.');
    if (($extlimit == "yes") && (!in_array(strtolower($ext),$limitedext))) {
    echo("Грешка : Този тип файл не е позволен за качване. ");
    exit();
    }
    
    
    // Далй има такъв файл
    if(file_exists($upload_dir.$file_name)){
    echo "Името на файла <b>$file_name</b> вече е заето. <br>»<a href=\"$_SERVER[PHP_SELF]\">НАЗАД</a>";
    exit();
    }
    $snimkata = $site_link."/".$upload_dir."".$file_name;
    //На мястото на интервала (space) се слага "_".
    $file_name = str_replace(' ', '_', $file_name);
    //Местене на файла в папката която сме посочили отгоре на скрипта
    //move_uploaded_file('filename','destination') С тази функция преместваме файла в избраната от нас диреактория
    if (move_uploaded_file($file_tmp,$upload_dir.$file_name)) {
    //Казва на потребителя кога файла е качен и дава лйнк към него
    echo "<center>Файла (<a href=\"$upload_dir$file_name\">$file_name</a>) е качен успешно! <br><br>
    <img src=\"".$site_link."/".$upload_dir."".$file_name."\" border=\"0\"><br>
    <b>phpBB/IPB - снимката</b><br>
    <input type=\"text\" value='[url=".$snimkata."][img]".$snimkata."[/img][/url]' size=\"100\"><br>
    <b>HTML Оригинален размер с контур</b><br>
    <input type=\"text\" value='<a href=".$snimkata."><img src=".$snimkata." border=1></a>' size=\"100\"><br>
    <b>HTML Оригинален размер без контур</b><br>
    <input type=\"text\" value='<a href=".$snimkata."><img src=".$snimkata." border=0></a>' size=\"100\"><br>
    <b>HTML Текстови линк</b><br>
    <input type=\"text\" value='<a href=".$snimkata.">".$snimkata."</a>' size=\"100\"><br>
    <b>Директен линк към оригинала</b><br>
    <input type=\"text\" value='".$snimkata."' size=\"100\"><br>
    
    
    »<a href=\"$_SERVER[PHP_SELF]\">НАЗАД</a>";
    exit();
    }else{
    //Показва грешка при провал на преместването
    echo "Има проблем при преместването на вашия файл. <br>»<a href=\"$_SERVER[PHP_SELF]\">НАЗАД</a>";
    exit();
    }
    //Край на ....
    // Ако формата не е попълнена да се покаже това :
    }else{
    //Началото на else
    
    // Проверяване на сички наши заявки (да не се надвишава големината , и да е един от избраните типове файлове от нас)
    for($i=0;$i<count($limitedext);$i++){
    if (($i<>count($limitedext)-1))$commas=", ";else $commas="";
    list($key,$value)=each($limitedext);
    $all_ext .= $value.$commas;
    }
    
    //Изложението
    echo "<br><h3>Качване на файлове</h3>"
    ."- Позволени типове : $all_ext</b> <br>"
    ."- Максимална големина = ". $size_bytes / 1024 ."KB"
    ."<form method=\"post\" enctype=\"multipart/form-data\" action=\"\">"
    ."<input type=\"file\" name=\"filetoupload\"><br>"
    ."<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"$size_bytes\"><br>"
    ."<input type=\"Submit\" name=\"uploadform\" value=\"Качи\">"
    ."</form>";
    }//Край на else
    
    ?>

    Оставете коментар