Само .mp3 формат в търсачка

dwarf

Registered
Съжелявам,че повдигам въпрос който сигорно има отговор но ТЪРСИХ като идиот и не намерих.
Трябва ми да разбера как да направя тъсачка примерно http://web-tourist.net/login/login/view.php?st=1024 да търси само в .mp3 формат. В смисъл да не показва .txt .jpg и т.н. Ако не ви се занимава само ми дайте линк каде да прочета.
Не използвам DB за това ви показвам тази търсачка.
Благодаря ви предварително.
 
Код:
<?php
// CONFIG //
$min_simb = 3; // колко символа минимум трябва да въведе потребителя
$max_simb = 50; // колко символа максимум може да въведе потребителя
$and_or = true; // ако оставите "true" ще връща резултати само ако съществуват всички въведени думи от потребителя, ако напишете "false" тогава ще връща резулати, в които участва поне една от думите.
$h_g = false; // ако оставите "true" ще различава малки и големи букви, ако напишете "false" няма да прави разлика между малки и големи букви
$folder = "D:\Music"; // от къде да звима файловете
$files_ext = array('mp3'); // за кои разширения файлове да търси

// Това са текстовете в, които ще се търси. Може да ги заместите с каквото пожелаете. Може да ги изкарате от файл примерно :)
$str = array();

$dir = opendir($folder);
while ($files = readdir($dir))
{
    if (in_array(strtolower(end(explode(".", $files))), $files_ext)) $str[] = preg_replace('/.\mp3$/i', '', $files);
}
closedir($dir);

// Формата за търсене
echo "<form action=\"\" method=\"post\">";
echo "Търси: <input type=\"text\" name=\"searches\" size=\"50\" maxlength=\"$max_simb\"> <input type=\"submit\" name=\"submit\" value=\"Търси\">";
echo "</form>";

if (isset($_POST['submit']) && !empty($_POST['searches'])) { // ако е натиснат бутона и е въведено нещо в формата продължаваме
    if (strlen($_POST['searches']) >= $min_simb && strlen($_POST['searches']) <= $max_simb) { // ако сме спазили минимални и максималния брой символи за търсене продължаваме
        $search = array(); // създаваме празен масив
        
        $razd = explode(" ",$_POST['searches']); // разделяме въведеното от потребителя на думи
        foreach ($razd as $s) {
            $search[] = $s; // вкарваме думите в по-горе създадения масив
        }
        
        for ($i=0;$i<count($str);$i++) { // започваме цикъл със всички текстове
            if ($and_or) { $searched = 1; } else { $searched = 0; } // създаваме променлива, която ще играе важна роля по-долу при определяне на резултатите
            foreach($search as $value) {
                if ($h_g) { str_replace($value,'',$str[$i],$count); } else { str_ireplace($value,'',$str[$i],$count); } // тук определяме дали да различава малките и големи букви или не
                
                if ($and_or) { // ако сме избрали да връща резултати само ако съществуват всички въвдени думи
                    if ($count == 0) {
                        $searched = 0;
                        break;
                    }
                } else {
                    if ($count >= 1) { // ако сме избрали да връща резултати дори и да съвпада една от въведените думи
                        $searched = 1;
                        break;
                    }
                }
            }
            if ($searched == 1) {
                $result[] = $i; // записваме в нов масив върнатите резултати
            }
        }
        
        // тука вече изкарваме резултатите на екрана :)
        if (count($result) >= 1) {
            if (count($result) == 1) { $res = "резултат"; } else { $res = "резултати"; }
            echo "Търсенето Ви върна <b>".count($result)."</b> $res!<br /><br />";
            $n=1;
            foreach($result as $key) {
                echo $n.". <a href=\"{$folder}/".$str[$key].".mp3\" target=\"_blank\"><b>".$str[$key]."</b></a><br />";
                $n++;
            }
        } else {
            echo "Търсенето Ви НЕ върна резултати!";
        }
    } else { echo "Трябва да въведете от <b>$min_simb</b> до <b>$max_simb</b> символа!"; }
}
?>

Виж дали ще ти свърши работа :)
 
Много много благодаря супер си.Сега ще пробвам дори и нещо да не работи вече знам за какво става на въпрос :?:
Мерси за урока
 

Back
Горе