Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Prośba !
oggy
post
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 17.08.2003
Skąd: krakow

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


No wiec męcze sie z wyszukiwarką juz chyba ze 3 dni. Wszysko działa, tylko chciałbym zeby działało trochę inaczej. Chodzi oto ze po znalezieniu plików sa tworzone linki w taki sposób : <a href=./plik.htm>./plik.htm</a> , a ja potrzebuje aby wyglądały one w taki sposób : <a href=plik>Plik</a>. Mam nadzieje że znajdzie sie tu ktoś na tyle miły, aby nie odesłał mnie do manuala, lecz zrobił to oco proszę. Po niżej pliki źródłowe.

szukaj.htm
[xml:1:c03b204417]<FORM action=page/szukaj2.htm method=post target=_blank>
Szukaj:<INPUT name=szukane>
<INPUT type=submit value=Go!>
</FORM>[/xml:1:c03b204417]

szukaj2.htm
[php:1:c03b204417]<?php

include("f.php");

if(isset($szukane) && $szukane != '') {
$szukane = ereg_replace("[*.$/]", "", $szukane);
$szukane_slowa = split(" ", $szukane);
array_unshift($szukane_slowa, $szukane);
$ile_slow = count($szukane_slowa);
unset($szukane);

$pliki = drzewko(".");
$czytelne = czytelne($pliki);
unset($pliki);
sort($czytelne);

foreach($czytelne as $plik) {
$id_pliku = fopen($plik, "r");
$zawartosc = fread($id_pliku, filesize($plik));
for($i=0; $i < $ile_slow; $i++) {
if(ereg($szukane_slowa[$i], $zawartosc)) {
$trafienia[] = $folder . $plik;
}
}
fclose($id_pliku);
}

if(!isset($trafienia)) {
echo "Niestety nie znaleziono nic co by pasowało do twojego zapytania. Powrót";
} else {
$trafienia = array_unique($trafienia);
sort($trafienia);
foreach($trafienia as $pojedyncze) {
echo"<a href=http://www.nhs.kom.pl?id=$pojedyncze>$pojedyncze</a><br>";
}
}
} else {
echo "Przecież chciałeś czegoś szukać! Powrót";
}

?>[/php:1:c03b204417]

f.php
[php:1:c03b204417]<?php

function drzewko($folder) {
global $pliki;
if($folder != "/") {
$folder .= "/";
}
$id_f = opendir($folder);
if($id_f) {
while($plik = readdir($id_f)) {
if($plik == '.' || $plik == '..') {
continue;
}
if(is_dir($folder . $plik)) {
drzewko($folder . $plik);
} else {
$pliki[] = $folder . $plik;
}
}
closedir($id_f);
}
return $pliki;
}

function czytelne($spis) {

$rozszerzenie[] = "htm";

foreach($rozszerzenie as $roz) {
$dl_roz = strlen($roz);
foreach($spis as $plik) {
if(substr($plik, -$dl_roz) == $roz) {
$wynik[] = $plik;
}
}
}
return $wynik;
}

$link = basename ($pojedyncze);
$link = basename ($pojedyncze,".htm");

?>[/php:1:c03b204417]

P.S : Da się otworzyc okno formularza o określonych wymiarach questionmark.gif[/i]
Go to the top of the page
+Quote Post
adwol
post
Post #2





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

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


Cytat
No wiec męcze sie z wyszukiwarką juz chyba ze 3 dni. Wszysko działa, tylko chciałbym zeby działało trochę inaczej. Chodzi oto ze po znalezieniu plików sa tworzone linki w taki sposób : <a href=./plik.htm>./plik.htm</a> , a ja potrzebuje aby wyglądały one w taki sposób : <a href=plik>Plik</a>.

Użyj funkcji basename().
[php:1:fe46d2f6b8]$plik = basename($plik)[/php:1:fe46d2f6b8]
Cytat
Mam nadzieje że znajdzie sie tu ktoś na tyle miły, aby nie odesłał mnie do manuala, lecz zrobił to oco proszę.

Odesłanie do manuala przynosi więcej pożytków niż Ci się wydaje.
Cytat
P.S : Da się otworzyc okno formularza o określonych wymiarach questionmark.gif

Chyba w stylach takie rzeczy da sie zrobić, ale nie wiem na pewno.
Go to the top of the page
+Quote Post
FiDO
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Nie rozumiem dokladnie co masz na mysli przez okno formularza, ale jesli chodzi Ci o okno w ktorym znajduje sie formularz to mozesz otworzyc okno o ustalonych wymiarach przy pomocy JS (window.open).
Go to the top of the page
+Quote Post
oggy
post
Post #4





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 17.08.2003
Skąd: krakow

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


chodzi mi o to zeby po wypełnieniu formularza plik otworzył sie w nowym oknie ookreślonych wymiarach .. wiem jak to zrobić ale tylko w linkach ..
Go to the top of the page
+Quote Post
oggy
post
Post #5





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 17.08.2003
Skąd: krakow

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


Cytat
Użyj funkcji basename().


No ok, tyle to ja wiem tylko niewiem w jakim pliku, gdzie i do jakiej zmiennej sad.gif
Go to the top of the page
+Quote Post
adwol
post
Post #6





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

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


Cytat
No ok, tyle to ja wiem tylko niewiem w jakim pliku, gdzie i do jakiej zmiennej sad.gif

Teraz to ja nie rozumiem o co chodzi. Nie wiesz w jakiej zmiennej masz nazwe pliku?
Go to the top of the page
+Quote Post
oggy
post
Post #7





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 17.08.2003
Skąd: krakow

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


no własnie do konca niewiem .. próbowałem troche ale mi niewszyło .. i tak samo niewiem w jakim pliku to wkleić ..
Go to the top of the page
+Quote Post
patrycjusz
post
Post #8





Grupa: Zarejestrowani
Postów: 263
Pomógł: 0
Dołączył: 13.07.2003
Skąd: wawa

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


dobra ...
jeżeli chodzi o okno o okreslonych wymiarach to to wstaw w tym oknie a dokładnie to w sekcji head
Kod
<SCRIPT language=javascript>

function noweokno(nazwa,adres, szerokosc, wysokosc) {

    if (szerokosc > screen.width) {

  szerokosc = screen.width;

  wysokosc = screen.height;

    }

    lewa = (screen.width - szerokosc) /2;

    gora = (screen.height - wysokosc) /2;

    var okno = open(adres,nazwa,'scrollbars=yes,resizable=yes,left=' + lewa + ',top = ' + gora + ',width=' + szerokosc + ',height=' + wysokosc);

    okno.focus();

}

</script>

a takim poleceniem je otwierasz...
Kod
<a href="javascript:noweokno('tytuł okna','adres_okna.html','685','470');">

a co do poprzedniego pytanie ... hmmm... to ja bym cie nie odesłał do manula ale proponuje ci rozpisz sobie na kartce co i jak ma robić ta wyszukiwarka, rozrysuj sobie cała konstrukcje(wszystkie ify itd) no i mysle ze dojdziesz do tego co jest nie tak... a jak nie to proponuje kursy dla poczatkujacych.
Pozdrawiam PAT
Go to the top of the page
+Quote Post
spenalzo
post
Post #9





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


Cytat
no własnie do konca niewiem .. próbowałem troche ale mi niewszyło .. i tak samo niewiem w jakim pliku to wkleić ..

Hmmm... i Ty się nas pytasz? Najlepiej napisz jeszcze raz, bo tutaj jest poplątanie z pomieszaniem.


--------------------

Go to the top of the page
+Quote Post
oggy
post
Post #10





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 17.08.2003
Skąd: krakow

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


No kurcze .. chodzi o to ze w linku jest zmienna : $pojedyńcze a ona ma wartoś taką : katalog/nazwapliku.htm gdzie nazwa pliku to nazwa znalezionego pliku po wyszukaniu. Ja potrzebuje aby zmienna miała taką wartość : nazwapliku. Próbowałem to zrobić (tak jak poradziliście) funkcją [manual:2f05834629]basename[/manual:2f05834629], ale ona usuneła mi z niej tylko katalog i teraz wartośc jest taka ./nazwapliku.htm. Teraz rozumiecie o co mi chodzi.

A co do formularza to chodzi mi o to ze jak ktoś wypełni formularz i kliknie ok to rzeby kolejna strona otworzyła sie w oknie o określonych wymiarach..

Dzięki wielkie, pozdrawiam.. Oggy
Go to the top of the page
+Quote Post
adwol
post
Post #11





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

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


Cytat
No kurcze .. chodzi o to ze w linku jest zmienna : $pojedyńcze a ona ma wartoś taką : katalog/nazwapliku.htm gdzie nazwa pliku to nazwa znalezionego pliku po wyszukaniu. Ja potrzebuje aby zmienna miała taką wartość : nazwapliku. Próbowałem to zrobić (tak jak poradziliście) funkcją [manual:00e14b2720]basename[/manual:00e14b2720], ale ona usuneła mi z niej tylko katalog i teraz wartośc jest taka ./nazwapliku.htm. Teraz rozumiecie o co mi chodzi.

No to:
[php:1:00e14b2720]<?php
basename($pojedyncze, '.htm');
?>[/php:1:00e14b2720]
ale Ci to oczywiście zetnie tylko rozszerzenia .htm.
Go to the top of the page
+Quote Post
oggy
post
Post #12





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 17.08.2003
Skąd: krakow

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


no kurde dalej nic dodałem to tu :

[php:1:a76ed0b7a8]
<?php

function drzewko($folder) {
global $pliki;
if($folder != "/") {
$folder .= "/";
}
$id_f = opendir($folder);
if($id_f) {
while($plik = readdir($id_f)) {
if($plik == '.' || $plik == '..') {
continue;
}
if(is_dir($folder . $plik)) {
drzewko($folder . $plik);
} else {
$pliki[] = $folder . $plik;
}
}
closedir($id_f);
}
return $pliki;
}

function czytelne($spis) {

$rozszerzenie[] = "htm";

foreach($rozszerzenie as $roz) {
$dl_roz = strlen($roz);
foreach($spis as $plik) {
if(substr($plik, -$dl_roz) == $roz) {
$wynik[] = $plik;
}
}
}
return $wynik;
}

basename($pojedyncze, '.htm');


?> [/php:1:a76ed0b7a8]

Tak ma byc, jezeli tak to niedziała .. to moze wysle to komus spakowane i ktoś to zrobi .. po tak to nam sie chyba nieuda ..
Go to the top of the page
+Quote Post
uboottd
post
Post #13





Grupa: Zarejestrowani
Postów: 384
Pomógł: 0
Dołączył: 3.04.2003
Skąd: Chorzow

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


Jeja, skrot myslowy.

[php:1:c6d1ae1424]
$pojedyncze = basename($pojedyncze,".htm");
[/php:1:c6d1ae1424]

Pozatym w tym kdozie to dwie funkcje sa ni przypial ni przylatal a to wywolanie to tez spadlo nagle z choinki....
Go to the top of the page
+Quote Post
oggy
post
Post #14





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 17.08.2003
Skąd: krakow

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


ale to i tak niezmienia ... myślę ze to temu niedziała ze wkleiłem to w pliku f.php a on jest includowany na samym początku pliku szukaj2.htm a zmienna pojedyncze jest uzyta na samym koncu. Może źle myśle ale ważne ze próbuję :wink:
Go to the top of the page
+Quote Post
spenalzo
post
Post #15





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


Tak na marginesie: pliki z kodem php powinno się raczej nazywać z roszerzeniem .php, ewentualnie .php3 lub .phtml


--------------------

Go to the top of the page
+Quote Post
oggy
post
Post #16





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 17.08.2003
Skąd: krakow

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


biggrin.gif .. ale to i tak raczej nic nie zmieni ..
Go to the top of the page
+Quote Post
spenalzo
post
Post #17





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


Cytat
biggrin.gif .. ale to i tak raczej nic nie zmieni ..

Tutaj nie, ale wgrasz ten plik na serwer i nie będzie działać. Czemu? Bo na serwerze może nie być ustawione parsowanie plików .htm (jak już to .html) jako skrypty php.


--------------------

Go to the top of the page
+Quote Post
oggy
post
Post #18





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 17.08.2003
Skąd: krakow

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


ale ja to mam na serwerze i mi wszystko działa, tzn nie mam problemów z tym aby skrypty php nie działały w plikach htm
Go to the top of the page
+Quote Post
oggy
post
Post #19





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 17.08.2003
Skąd: krakow

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


No co jest .. nikt nie wie jak to zrobić .. ? :cry:
Go to the top of the page
+Quote Post
marcipio
post
Post #20





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 11.09.2003

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


foreach($trafienia as $pojedyncze)

[php:1:51a5212b99]<?php
{ $pojedyncze=basename($pojedyncze, '.html');
echo "<table width=300><tr><td bgcolor=#1E5A1E>
<a href=$pojedyncze>$pojedyncze</a><br>
</td></tr> </table> ";
?>[/php:1:51a5212b99]

Oczywiście tabele nie są potrzebne.

Tylko jeden problem, pliki muszą mieć takie samo rozszerzenie, jeśli masz pliki różnych typów np. htm, html, php itp.. to jest pronlem. Ja przynajmniej na razie nie wiem jak go rozwiązać
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 12:35