Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Dopasowanie nazw
Gonzo
post
Post #1





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 19.08.2003

Ostrzeżenie: (0%)
-----


Otóż mam bazę nazw filmów. Na serwerze mam zauplodowane pliki, których nazwy mają zostać dopasowane do wpisów w bazie nazw. Sorka, że to tutaj piszę, ale już mi się w oczach mieni od tego kodu (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) .

Nie wiem, gdzie się pomyliłem, ale coś musiałem schrzanić, bo serwer (apache) wywala mi informację, że został przekroczony maksymalny czas wykonywania skryptu. Założę się, że popełniłem gdzieś strasznie głupi błąd (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .

[php:1:b01b6edfa1]
<?

// Wczytanie listy plikow
$folder = opendir('/home/divxzone/public_html/napisy/do_obc/pliki');
while($file = readdir($folder))
if($file != '.' && $file != '..') {$pliki[] = $file;}
closedir($folder);

include('php.php');

$napisy = otworz('napisy/do_obc/baza.dat', 1);
$nazwy = otworz('napisy/do_obc/nazwy.dat', 1);

// Znalezienie niezarejestrowanych plikow
for($i=0; $i<sizeof($pliki); $i++)
{
$jest = false;
for($in=0; $in<sizeof($napisy) && $jest==false; $in++)
if($napisy[$in][3] == $pliki[$i]) {$jest = true; $nr = $in;}
if($jest == false) $brak[] = substr($pliki[$i], 0, -4);
}

for($i=0; $i<sizeof($brak); $i++)
{
$brak[$i] = str_replace('-pl', '', $brak[$i]);
$brak[$i] = str_replace('-pl2', '', $brak[$i]);
$brak[$i] = str_replace('_pl', '', $brak[$i]);

$znak = 'nic';
for($in=0; $in<strlen($brak[$i]) && $znak=='nic'; $in++)
{
switch($brak[$i][$in])
{
case '_': $znak = '_'; break;
case ' ': $znak = ' '; break;
}
}

if($znak == 'nic')
{
// Wybieramy nastepny wiersz
for($in=0; $in<sizeof($nazwy); $in++)
{
$jest = 0;

// Sprawdzenie, czy slowo znajduje sie w aktualnym elemencie
$ok = false;
for($ind=0; $ind<=strlen($nazwy[$i][0]) - strlen($brak[$i]) && $ok==false; $ind++)
{
$ile = 0;
$pol = substr($nazwy[$i][0], $ind, strlen($brak[$i]));
$oryg = substr($nazwy[$i][1], $ind, strlen($brak[$i]));
$pol = znaki($pol);
$oryg = znaki($oryg);

if($pol == znaki($brak[$i]) || $oryg == znaki($brak[$i]))
{
$ok = true;
$ile++;
$dopas[$ile][0] = $brak[$i];
$dopas[$ile][1] = $nazwy[$in][0];
$dopas[$ile][2] = $nazwy[$in][1];
echo $dopas[$ile][0] . ' - ' . $dopas[$ile][1] . ' - ' . $dopas[$ile][2] . "<br>n";
}

}
}
}
else
echo "$brak[$i] - nie dopasowanon";
// Tutaj bedzie wyszukiwanie w razie tablicy (pozniej sie dorobi)
}

?>[/php:1:b01b6edfa1]
Go to the top of the page
+Quote Post
rmn
post
Post #2





Grupa: Zarejestrowani
Postów: 91
Pomógł: 0
Dołączył: 19.02.2004
Skąd: Piaseczno

Ostrzeżenie: (0%)
-----


na 90% ktoras z petli sie nie konczy..(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

jak bys mogl to dolacz jeszcze zrodlo php.php

wydaje mi sie ze blad znajduje sie w php.php
Go to the top of the page
+Quote Post
Gonzo
post
Post #3





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 19.08.2003

Ostrzeżenie: (0%)
-----


Hmm, no nie wiem, podaję użyte funkcje z php.php:

[php:1:37676f54a0]<?
function otworz($sciezka, $exp)
{
$file=fopen($sciezka, r);
flock($file, 1);
$waga=filesize($sciezka);
$plik=fread($file, $waga);
flock($file, 3);
fclose($file);
$tab=explode("rn", $plik);

if($exp == 1)
{
for($i=0; $i<sizeof($tab); $i++)
{
$tab[$i] = explode('||', $tab[$i]);
$tab[$i][sizeof($tab[$i])-1] = rtrim($tab[$i][sizeof($tab[$i])-1]);
}
}

return($tab);
}

function znaki($string)
{
$trans = array(';' => '', '>' => '', '<' => '', '!' => '', '@' => '', '#' => '', '$' => '', '$' => '', '%' => '', '^' => '', '&' => '', '*' => '', "'" => '', ' ' => '.', '/' => '', '?' => '', ':' => '', '(' => '', ')' => '', '+' => '', '-' => '', ',' => '', '!' => '', 'ˇ' => 'a', 'Ć' => 'c', 'Ę' => 'e', 'Ł' => 'l', 'Ń' => 'n', 'Ó' => 'o', '&brvbar;' => 's', 'Ż' => 'z', '&not;' => 'z', '&plusmn;' => 'a', 'ć' => 'c', 'ę' => 'e', 'ł' => 'l', 'ń' => 'n', 'ó' => 'o', '&para;' => 's', 'ż' => 'z', 'Ľ' => 'z');

$string = strtolower($string);
$string = strtr($string, $trans);

return($string);
}
?>[/php:1:37676f54a0]
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.12.2025 - 15:08