Webmaster общности: Predpriemach.com | SearchEngines.bg
    web-tourist17/01/202012min00

    Лесен и и функционален GSM Site

    Автор: Bummer

    Първоначално да кажа едно „здрасти !“ 🙂
    В този урок ще представя как можем да си направим много прост, но и функционален gsm site.Не се използват database, не се променя нищо.Може направо copy->paste
    И да започване.
    index.php

    <html>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <center>
    <a href=add.php>Добави нов GSM</a> <a href=upload.php>Качи снимка на GSM</a><p>
    </center>
    <div align="left">
    <form action="search.php" method="post"> //
    <input type="text" name="searched"> // това е формата затърсене
    <input type="submit" value="search"> //
    </form>
    <center>
    GSM апарати:<br>
    </html>
    <?
    include "indexed.php"; //чрез indexed.php изкарваме добавените GSMs
    ?>
    </center>

    add.php

    <html>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
    <center>
    <form method="POST" action="added.php">
    Марка: <input type="text" name="gsm"><p>
    Модел: <input type="text" name="model"><p>
    Година: <input type="text" name="god"><p>
    Памет: <input type="text" name="memory"><p>
    Поддръжа MP3: <select name="mp3">
    <option value="<font color=green><b>Да</b></font>">Да</option>
    <option value="<font color=red><b>Не</b></font>">Не</option>
    </select>
    <p>
    Радио: <select name="rad">
    <option value="<font color=green><b>Да</b></font>">Да</option>
    <option value="<font color=red><b>Не</b></font>">Не</option>
    </select>
    <p>
    Батерия: <input type="text" name="bat"><p>
    Тегло: <input type="text" name="teglo"><p>
    Камера: <select name="cam">
    <option value="<font color=green><b>Да</b></font>">Да</option>
    <option value="<font color=red><b>Не</b></font>">Не</option>
    </select>
    <p>
    Цветове: <input type="text" name="colors"><p>
    Резолюция: <input type="text" name="resolution"><p>
    Тип дисплей: <input type="text" name="disp"><p>
    InfraRed Port: <select name="irp">
    <option value="<font color=green><b>Да</b></font>">Да</option>
    <option value="<font color=red><b>Не</b></font>">Не</option>
    </select>
    <p>
    Bluetooth: <select name="blue">
    <option value="<font color=green><b>Да</b></font>">Да</option>
    <option value="<font color=red><b>Не</b></font>">Не</option>
    </select>
    <p>
    Xhtml: <select name="xhtml">
    <option value="<font color=green><b>Да</b></font>">Да</option>
    <option value="<font color=red><b>Не</b></font>">Не</option>
    </select>
    <p>
    Поддържа Java: <select name="js">
    <option value="<font color=green><b>Да</b></font>">Да</option>
    <option value="<font color=red><b>Не</b></font>">Не</option>
    </select>
    <p>
    Получаване и изпращане на mails: <select name="mails">
    <option value="<font color=green><b>Да</b></font>">Да</option>
    <option value="<font color=red><b>Не</b></font>">Не</option>
    </select>
    <p>
    Снимка: <input type="text" name="img"><p>
    <input type="submit" value="Add" name="send">
    </form>

    added.php

    <html>
    <head>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
    </head>
    <center>
    <?php
    $ip = getenv("REMOTE_ADDR"); //вземаме ip на добавящия
    $mail = $_POST['mails']; // ето ги постовете, които записваме
    $js = $_POST['js'];
    $xhtml = $_POST['xhtml'];
    $blue = $_POST['blue'];
    $god = $_POST['god'];
    $irp = $_POST['irp'];
    $rad = $_POST['rad'];
    $cam = $_POST['cam'];
    $gsm = $_POST['gsm'];
    $disp = $_POST['disp'];
    $res = $_POST['resolution'];
    $model = $_POST['model'];
    $Memory = $_POST['memory'];
    $MP3 = $_POST['mp3'];
    $bat = $_POST['bat'];
    $teglo = $_POST['teglo'];
    $colors = $_POST['colors'];
    $img = $_POST['img'];
    $filename = "$gsm$model.html";
    $directory = "./gsms/";
    $noext = current(explode(".",$filename));
    if(file_exists($directory.$filename)){ // проверяваме, дали някой не е добавил преди нас същия gsm
    echo "Gsm <b>$noext</b> е бил добавен от някой друг, преди вас. <br><a href=\"add.php\">НАЗАД</a>";
    exit();
    }
    $file = "./gsms/$gsm$model.html"; //записваме gsm под формата на html file
    $handle = fopen($file, 'a') or die("Не мога да отворя файла");
    $data = "<center><b>GSM - $gsm $model<br>Година на производство - $god<br>Памет - $Memory<br>Mp3 - $MP3<br>Радио - $rad<br>Тип батерия - $bat<br>Тегло - $teglo<br>Камера - $cam<br>Цветове - $colors<br>Резолюция - $res<br>Дисплей - $disp<br>InfraRed Port - $irp<br>Bluetooth - $blue<br>Xhtml - $xhtml<br>Java - $js<br>Изпращане и получаване на mails - $mail<p><img src=$img><p>Gsm бе добавен от Ip Address $ip";
    fwrite($handle, $data);
    fclose($handle);
    echo "Gsm бе добавен - <a href=./gsms/$gsm$model.html>$gsm$model</a> !";
    ?>

    ето урока с тази търсачка – http://web-tourist.net/login/login/view.php?st=650 .В случая е леко преработена.
    search.php

    <html>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <title>Search</title>
    </head>
    <center>
    <?php
    $flag=0;
    $dir="gsms/";
    if(isset($_POST['searched'])) {
    foreach(glob($dir."*") as $file) {
    if(@eregi($_POST['searched'], str_replace($dir, "", $file))) {
    $noext = current(explode(".",$file)); //понеже gsm се записват като .html file, чрез тази функция изкарваме само името на file, без разширението
    echo("<a href='".$file."' target=_blank>".str_replace($dir, "", $noext)."</a><br />\n");
    $flag+=1;
    }
    }
    if($flag==false) {
    echo("Няма намерени файлове.");
    }
    }
    ?>
    </center>
    </body>
    </html>

    indexed.php
    Урок – http://web-tourist.net/login/login/view.php?st=1711

    <?php
    $dir = "./gsms/";
    if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
    while (($file = readdir($dh)) !== false) {
    if ($file != 'Thumbs.db' && $file != 'banner.jpg' && $file != '..'){
    $noext = current(explode(".",$file)); // като в търсачката - за да не се изкарва разширението .html
    echo "<a href=./gsms/$file>$noext</a> <br />";
    }
    }
    closedir($dh);
    }
    }
    ?>

    upload.php
    урок – http://web-tourist.net/login/login/view.php?st=1898

    <head>
    <meta http-equiv="content-type" content="text/html; charset=windows-1251" />
    </head>
    <?php
    $site_link = "Link kam site"; //Лйнк към сайта ви, където се намира ъплоад формата (отзад не слагайте /)
    $upload_dir = "upload/"; //Може да се смени с друга папка , която вие си пожелаете
    $size_bytes = 10485760; //Големината на файла в bytes
    $extlimit = "yes"; //Да има лимит или не (yes/no)
    $limitedext = array(".jpg",".gif",".png"); //Разрешени файлове за качване
    //Далй папката в която ще се качват файловете съществува или не
    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 / 1024 ."</b> MB. <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>
    <center><img src=\"".$site_link."/".$upload_dir."".$file_name."\" border=\"0\"><br>
    <b>HTML Link към картинката</b><br>
    <input type=\"text\" value='<a href=".$snimkata."><img src=".$snimkata." border=0></a>' 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 / 1024 ."MB"
    ."<p><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
    
    ?>

    Сега остава да направим 2 папки – gsms (мястото, където ще се записват gsm-ите) и upload (където ще се качват снимки на gsm)

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