Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Szukajka plików
dk1342
post 14.01.2009, 14:07:13
Post #1





Grupa: Zarejestrowani
Postów: 275
Pomógł: 9
Dołączył: 24.07.2008
Skąd: Racibórz

Ostrzeżenie: (10%)
X----


Witam, mam pytanie czy jest możliwość zrobienia szukajki plików w danym katalogu (potrzebne do uploadu)
bez bazy mysql i bez plików tekstowych ?

Jak tak to czekam na propozycje

a jak nie to jak to zrobić na plikach tekstowych ?

Ten post edytował dk1342 14.01.2009, 14:08:52


--------------------
Firefox - The Best,
Internet Exokier - shit

Go to the top of the page
+Quote Post
nospor
post 14.01.2009, 14:12:29
Post #2





Grupa: Moderatorzy
Postów: 36 455
Pomógł: 6292
Dołączył: 27.12.2004




wczytujesz po kolei wszystkie pliki z katalogu i sprawdzasz, ktore pasuja do twego wzorca.

Mozesz tez uzyc glob(), ktore wspomaga podanie wzorca.


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
wookieb
post 14.01.2009, 14:13:11
Post #3





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Można np za pomoca funkcji http://pl.php.net/glob
albo zwyklymi funkcjami z rodziny http://pl.php.net/manual/pl/ref.dir.php


--------------------
Go to the top of the page
+Quote Post
dk1342
post 14.01.2009, 14:35:10
Post #4





Grupa: Zarejestrowani
Postów: 275
Pomógł: 9
Dołączył: 24.07.2008
Skąd: Racibórz

Ostrzeżenie: (10%)
X----


ok funkcje wyświetlania wszystkich plików z folderu już wcześniej miałem napisaną

nie znam tej funkcji glob musze zobaczyć w manualu ale tam niestety wszystko po angielsku ale może coś zrozumie

ee nie zrozumiałem dalibyście jakieś nakierowanie do tej funkcji ?

nie prosze o gotowca chyba że ktoś będzie taki miły, proszę o coś jak wyjaśnienie tej funkcji


--------------------
Firefox - The Best,
Internet Exokier - shit

Go to the top of the page
+Quote Post
nospor
post 14.01.2009, 14:43:09
Post #5





Grupa: Moderatorzy
Postów: 36 455
Pomógł: 6292
Dołączył: 27.12.2004




a czego tu nie rozumiec?
  1. <?php
  2. foreach (glob("*szukanafraza*") as $filename) {
  3.    echo "$filename size " . filesize($filename) . "\n";
  4. }
  5. ?>


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
koreja
post 14.01.2009, 14:48:06
Post #6





Grupa: Zarejestrowani
Postów: 120
Pomógł: 22
Dołączył: 15.07.2008
Skąd: Raniżów/Rzeszów

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


Posłużę się przykładem z manuala:
  1. <?php
  2. foreach (glob("*.txt") as $filename) {
  3.    echo "$filename size " . filesize($filename) . "\n";
  4. }
  5. ?>


Jak widzisz, funkcja glob wyszukuje plików o podanym rozszerzeniu, a następnie zapisuje nazwę do zmiennej
  1. <?php
  2. $filename
  3. ?>
potem
  1. <?php
  2. echo $filename;
  3. ?>
wyświetla to na ekranie. Wystarczy, że przerobisz ten skrypt delikatnie i uzyskasz to, czego szukasz smile.gif

Ten post edytował koreja 14.01.2009, 14:51:18
Go to the top of the page
+Quote Post
dk1342
post 14.01.2009, 20:14:08
Post #7





Grupa: Zarejestrowani
Postów: 275
Pomógł: 9
Dołączył: 24.07.2008
Skąd: Racibórz

Ostrzeżenie: (10%)
X----


dzięki działa udało mi się



tylko mam problem gdy szukajka nie znajdzie czyli gdy plik nie istnieje to wywala warninga

Warning: Invalid argument supplied for foreach() in /home/accounts_d/dk1342/public_html/demo/dupa.php on line 5

więc zrobiłem takie coś:
Kod
if (file_exists($filename)
{
$szukaj = $_POST['szukaj'];
foreach (glob("files/*".$szukaj."*") as $filename)
{
echo substr($filename, 6)."<br />";
}
} else {
echo "Nie znaleziono";
}


teraz nie ma warninga ale caly czas pisze

"Nie znaleziono"

choć taki plik istnieje


--------------------
Firefox - The Best,
Internet Exokier - shit

Go to the top of the page
+Quote Post
erix
post 14.01.2009, 20:16:30
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A wiesz, że kod wykonuje się od góry do dołu, a nie na odwrót?


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
bartg
post 14.01.2009, 20:24:40
Post #9





Grupa: Zarejestrowani
Postów: 225
Pomógł: 25
Dołączył: 4.07.2007
Skąd: Berlin

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


  1. <?php
  2. $szukaj = $_POST['szukaj'];
  3. $aFiles = glob("files/*".$szukaj."*");
  4. foreach ((array)$aFiles as $filename)
  5. {
  6. echo substr($filename, 6)."<br />";
  7. }
  8. if(count($aFiles)==0)
  9. {
  10. echo "Nie znaleziono";
  11. }
  12. ?>


--------------------
Go to the top of the page
+Quote Post
dk1342
post 14.01.2009, 20:41:42
Post #10





Grupa: Zarejestrowani
Postów: 275
Pomógł: 9
Dołączył: 24.07.2008
Skąd: Racibórz

Ostrzeżenie: (10%)
X----


erix tak wiem, ale jakoś nie wiem jak to zrobić

bartg

dzięki ładnie działa tylko jak plik nie istnieje to jest biała strona zamiast pisać "nie znaleziono" a gdy plik istnieje ładnie wyświetla



więc dlaczego nie pokazuje tego komunikatu ? wg. jest to zwykły if i nie widze w nim błędu więc nie wiem


--------------------
Firefox - The Best,
Internet Exokier - shit

Go to the top of the page
+Quote Post
nospor
post 14.01.2009, 20:45:56
Post #11





Grupa: Moderatorzy
Postów: 36 455
Pomógł: 6292
Dołączył: 27.12.2004




  1. <?php
  2. $szukaj = $_POST['szukaj'];
  3. $aFiles = glob("files/*".$szukaj."*");
  4. if ($aFiles){
  5. foreach ($aFiles as $filename)
  6. {
  7. echo substr($filename, 6)."<br />";
  8. }
  9. }
  10. else
  11. {
  12. echo "Nie znaleziono";
  13. }
  14. ?>


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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 Wersja Lo-Fi Aktualny czas: 24.04.2024 - 12:59