![]() |
![]() ![]() |
![]() |
![]()
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 ![]() |
|
|
![]()
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
![]() Chyba w stylach takie rzeczy da sie zrobić, ale nie wiem na pewno. |
|
|
![]()
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).
|
|
|
![]()
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 ..
|
|
|
![]()
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 ![]() |
|
|
![]()
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
![]() Teraz to ja nie rozumiem o co chodzi. Nie wiesz w jakiej zmiennej masz nazwe pliku? |
|
|
![]()
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ć ..
|
|
|
![]()
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 |
|
|
![]()
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. -------------------- |
|
|
![]()
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 |
|
|
![]()
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. |
|
|
![]()
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 .. |
|
|
![]()
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.... |
|
|
![]()
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:
|
|
|
![]()
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
-------------------- |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 17.08.2003 Skąd: krakow Ostrzeżenie: (0%) ![]() ![]() |
![]() |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Cytat ![]() 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. -------------------- |
|
|
![]()
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
|
|
|
![]()
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:
|
|
|
![]()
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ć |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 12:35 |