Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Panel Administracyjny z listą wybranych plików.
nigraS
post
Post #1





Grupa: Zarejestrowani
Postów: 179
Pomógł: 1
Dołączył: 25.11.2006

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


Jak ustawić, aby skrypcie :
http://www.forumweb.pl/porady-i-tutoriale-...31b1d04c4#94771

Pojawiła się tylko lista wybranych plików?

Obecnie skrypt wyświetla wszystkie pliki jakie znajdują się na ftp.
Go to the top of the page
+Quote Post
fate
post
Post #2





Grupa: Zarejestrowani
Postów: 824
Pomógł: 106
Dołączył: 14.03.2012
Skąd: Warszawa

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


klucowe jest jakich plikow, maja miec konkretne rosrenie
Go to the top of the page
+Quote Post
nigraS
post
Post #3





Grupa: Zarejestrowani
Postów: 179
Pomógł: 1
Dołączył: 25.11.2006

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


chodzi o pliki .php
Go to the top of the page
+Quote Post
fate
post
Post #4





Grupa: Zarejestrowani
Postów: 824
Pomógł: 106
Dołączył: 14.03.2012
Skąd: Warszawa

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


amiast
if($plik[1] == "css" || $plik[1] == "php" || $plik[1] == "html" || $plik[1] == "php3" || $plik[1] == "htm" || $plik[1] == "txt") {

rob

if($plik[1] == "php") {
Go to the top of the page
+Quote Post
nigraS
post
Post #5





Grupa: Zarejestrowani
Postów: 179
Pomógł: 1
Dołączył: 25.11.2006

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


Może źle się wyraziłem.
Nie chodziło mi o to, aby plik wyświetlał tylko pliki .php, a o to, aby skrypt wyświetlał tylko wybrane pliki np. 4 z 20 plików.
Go to the top of the page
+Quote Post
fate
post
Post #6





Grupa: Zarejestrowani
Postów: 824
Pomógł: 106
Dołączył: 14.03.2012
Skąd: Warszawa

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


tworzysz tablice z ich nazwami

$tablica[0]='plik.php';
$tablica[1]='plik2.php';
$tablica[2]='plik55.php';
$tablica[3]='plik77.php';


Po pierwsze to:
  1. function czytaj($nazwa)
  2. {
  3. @ $katalog = opendir($nazwa);
  4. while (@ $p_k = readdir($katalog))
  5. {
  6. if ($p_k == "." || $p_k == ".." || !eregi('\.', $p_k))
  7. {
  8. if ($p_k == "." || $p_k == "..")
  9. {
  10. } else {
  11. czytaj($nazwa . "/" . $p_k);
  12. }
  13. } else {
  14. $plik = explode(".", $p_k);
  15. if($plik[1] == "css" || $plik[1] == "php" || $plik[1] == "html" || $plik[1] == "php3" || $plik[1] == "htm" || $plik[1] == "txt") {
  16. echo "<option value='" . $nazwa . "/" . $p_k . "'>" . $nazwa . "/" . $p_k . "</option> \n";
  17. }
  18. }
  19. }
  20.  
  21. }


zastap tym:

  1. $lista=scandir($nazwa);
  2. $listaCount=count($lista);
  3. for($i=2;$i<=$listaCount;$i++)
  4. {
  5. echo "<option value='" . $nazwa . "/" . $lista[$i] . "'>" . $nazwa . "/" . $lista[$i] . "</option> \n";
  6. }


a co do Twoich zachcianek to tym:
  1. //lista wybranych plikow ktore chcesz pokazac
  2. $tablica[0]='plik.php';
  3. $tablica[1]='plik2.php';
  4. $tablica[2]='plik55.php';
  5. $tablica[3]='plik77.php';
  6.  
  7. $lista=scandir($nazwa);
  8. $listaCount=count($lista);
  9. for($i=2;$i<=$listaCount;$i++)
  10. {
  11. if(in_array($lista[$i],$tablica))
  12. {
  13. echo "<option value='" . $nazwa . "/" . $lista[$i] . "'>" . $nazwa . "/" . $lista[$i] . "</option> \n";
  14. }
  15. }
  16.  
Go to the top of the page
+Quote Post
nigraS
post
Post #7





Grupa: Zarejestrowani
Postów: 179
Pomógł: 1
Dołączył: 25.11.2006

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


ok, podmieniłem kod, jednak teraz lista się nie rozwija.

Skrypt znajduje się w katalogu administrator, fragment kodu zmieniłem na:
$tablica[0]='index.php';
oraz
$tablica[0]='../index.php';

jednak w żadnym z tych dwóch wpisów plik nie pojawia się na liście.
Go to the top of the page
+Quote Post
fate
post
Post #8





Grupa: Zarejestrowani
Postów: 824
Pomógł: 106
Dołączył: 14.03.2012
Skąd: Warszawa

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


jaka masz wersje php?

zrob var_dump($lista);
i wklej co tam masz
Go to the top of the page
+Quote Post
nigraS
post
Post #9





Grupa: Zarejestrowani
Postów: 179
Pomógł: 1
Dołączył: 25.11.2006

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


PHP Version 5.3.27

w którym miejscu wstawić var_dump($lista);?

Gdy wstawiłem zaraz po Twoim kodzie pojawił się napis NULL, a gdy wstawiłem echo var_dump($lista); również zaraz po Twoim kodzie pojawił sie napis:
bool(false)
Go to the top of the page
+Quote Post
fate
post
Post #10





Grupa: Zarejestrowani
Postów: 824
Pomógł: 106
Dołączył: 14.03.2012
Skąd: Warszawa

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


var_dump sluzy do sprawdania co najduje sie w zmiennej tablicy a ona jest pusta
dodaj na samym pocatku linjijke
  1. $nazwa='./';

co odnosi sie do katalogu glownego, chyba e chces robic liste w jakims zagniedonym ale takich wide nie ma,
Patrylem na kod 1 posta a autor tam w calym watku ciagle cos poprawia i sa kolejne wersje

Ten post edytował fate 15.08.2014, 06:06:45
Go to the top of the page
+Quote Post
nigraS
post
Post #11





Grupa: Zarejestrowani
Postów: 179
Pomógł: 1
Dołączył: 25.11.2006

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


ok, dodałem i taki komunikat się pojawił:

  1. array(9) { [0]=> string(1) "." [1]=> string(2) ".." [2]=> string(8) "ckeditor" [3]=> string(9) "duser.php" [4]=> string(9) "index.php" [5]=> string(14) "informacja.txt" [6]=> string(9) "login.php" [7]=> string(6) "pa.php" [8]=> string(8) "user.php" }


I czy mógłby ktoś pomóc w tym?
Go to the top of the page
+Quote Post
nospor
post
Post #12





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No a do $tablica wstawiles jakieś pliki z tej listy co ci sie wlasnie wyswietlila? Bo jak nie, to nie oczekuj ze ten kod ci doda pliki, ktorych nie ma Twoja lista.
Go to the top of the page
+Quote Post
nigraS
post
Post #13





Grupa: Zarejestrowani
Postów: 179
Pomógł: 1
Dołączył: 25.11.2006

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


Tak, w $tablica zamieściłem pliki.
Go to the top of the page
+Quote Post
nospor
post
Post #14





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




POkaz jakie pliki zamiesciles.
Go to the top of the page
+Quote Post
nigraS
post
Post #15





Grupa: Zarejestrowani
Postów: 179
Pomógł: 1
Dołączył: 25.11.2006

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


  1. $tablica[0]='../index.php';
  2. $tablica[1]='../zh/index.php';
  3. $tablica[2]='../ru/index.php';
  4. $tablica[3]='../en/index.php';


Ahaa i błąd jaki się pojawia na stronie to:
Cytat
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/world/domains/demo.adkash.nl/public_html/administrator/pa.php:1) in /home/world/domains/demo.adkash.nl/public_html/administrator/pa.php on line 2

Warning: scandir() [function.scandir]: Directory name cannot be empty in /home/world/domains/demo.adkash.nl/public_html/administrator/pa.php on line 16


Ten post edytował nigraS 18.09.2014, 21:55:55
Go to the top of the page
+Quote Post
nospor
post
Post #16





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Czy naprawde na tej liscie:
array(9) { [0]=> string(1) "." [1]=> string(2) ".." [2]=> string(8) "ckeditor" [3]=> string(9) "duser.php" [4]=> string(9) "index.php" [5]=> string(14) "informacja.txt" [6]=> string(9) "login.php" [7]=> string(6) "pa.php" [8]=> string(8) "user.php" }

widzisz jakikolwiek plik, ktory by sie zgadzal z tym co podales w $tablica? Bo ja nie widze ani jednego... Zdajesz sobie w ogole sprawe o co pytasz? Bo odnosze wrazenie ze nie.

ps: swoją drogą nie ogarniam, czemu fate kazal ci zamienic twoj readdir na jego scandir. Przeciez twoj kod lecial rekurencyjne w podkatalogi, zas jego ogranicza sie tylko do jednego poziomu.... Ale to juz jego trzeba sie pytac (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nigraS
post
Post #17





Grupa: Zarejestrowani
Postów: 179
Pomógł: 1
Dołączył: 25.11.2006

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


skrypt zamieszczony jest w katalogu administrator, czyli skrypt będzie widział tylko pliki znajdujące się w tym katalogu?
Czy jeśli zmienię: $lista=scandir($nazwa); na $lista=readdir($nazwa); to skrypt będzie widział pliki z innego wskazanego katalogu?

Czy mój wpis do $tablica jest poprawny?

Testowo zmieniłem $tablica na pliki które się mieszczą w katalogu administrator.
Kod
$tablica[0]='login.php';
$tablica[1]='index.php';
$tablica[2]='pa.php';
$tablica[3]='user.php';


Jednak skrypt cały czas nie widzi plików i wyświetla komunikat błędu:
Cytat
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/world/domains/demo.adkash.nl/public_html/administrator/pa.php:1) in /home/world/domains/demo.adkash.nl/public_html/administrator/pa.php on line 2

Warning: scandir() [function.scandir]: Directory name cannot be empty in /home/world/domains/demo.adkash.nl/public_html/administrator/pa.php on line 16


Ten post edytował nigraS 19.09.2014, 11:11:06
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: 23.08.2025 - 10:08