Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> przeszukiwanie zawarości pliku.
mazyl
post
Post #1





Grupa: Zarejestrowani
Postów: 139
Pomógł: 2
Dołączył: 2.12.2011

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


Witam!

mam pewien problem, mianowicie jak przeszukać plik .php czy np występuje dane wyrażenie (dana funkcja)

powiedzmy że mamy plik:

  1.  
  2. $cos1 = mysql_fetch_array(mysql_query("select * from tabela"));
  3.  
  4. echo $cos1['rekord1'];
  5.  
  6. if($cos1['rekord2'] == 1) {
  7. echo "coś";
  8. } else {
  9. echo "cos2";
  10. }
  11.  



i teraz nasza szukajka otrzymuje zmienną w postaci ilości występowanych wyrazów w pliku czyli np.

  1. $zmiennaif = ilość if w pliku
  2. $zmiennaecho = = ilość echo w pliku
  3.  
  4. if($zmiennaif > 0) {
  5. echo "jest";
  6. }
  7. elseif($zmiennaecho > 0 {
  8. echo "jest";
  9. } else {
  10. echo "nie ma";}


Jak czegoś takiego mozna dokonać ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Prph
post
Post #2





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 4.03.2006
Skąd: Łódź

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


Za pomocą wyrażeń regularnych. Przykład:

  1.  
  2. $zawartosc = file_get_contents('plik.php');
  3.  
  4. $znalezione = array();
  5. if(preg_match_all('/if\s?\(/i', $zawartosc, $znalezione) {
  6. // ok, znalazło IFy
  7. echo 'tu jest ' . count($znalezione[0]); // indeks 0 lub 1, trzeba sprawdzić, nie pamiętam
  8. }
  9.  


Ten post edytował Prph 23.05.2012, 05:55:43
Go to the top of the page
+Quote Post
Crozin
post
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


@Prph: Wyrażenia regularne na nic się tutaj nie zdadzą. Skąd będziesz wiedział, że "if (", bądź "if(" nie jest zwykłym tekstem, albo fragmentem wywołania funkcji?

Tutaj trzeba użyć normalnego parsera PHP (token_get_all) i po prostu policzyć ilość wystąpień konkretnych konstrukcji.
Go to the top of the page
+Quote Post
mazyl
post
Post #4





Grupa: Zarejestrowani
Postów: 139
Pomógł: 2
Dołączył: 2.12.2011

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


głównie mi chodzi o przeszukiwanie pliku w poszukiwaniu

  1. header('Content-type: image/png');

lub coś takiego co wykrywa ze jest tam biblioteka GD.

2 waznym elementem jest to że ten "licznik" bedzie dołączany do każdego pliku .php
i musi on sprawdzać go bez podawania nazwy i ścieszki pliku.

wie może ktoś jak to zrobić ?
Go to the top of the page
+Quote Post
IProSoft
post
Post #5





Grupa: Zarejestrowani
Postów: 479
Pomógł: 97
Dołączył: 6.09.2011
Skąd: php.net :)

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


W każym pliku wstawiasz:

  1. $zawartosc = file_get_contents(__FILE__);
  2.  
  3. if( strpos("header('Content-type: image/png');", $zawartosc) === true ){
  4. //JEST
  5. }


Choć rozwiązywanie w ten sposób takich problemów nie jest najlepsze.
Do czego jest Ci to potrzebne?

Ten post edytował IProSoft 28.05.2012, 13:27:52


--------------------
Manual prawdę Ci powie.
Go to the top of the page
+Quote Post
mazyl
post
Post #6





Grupa: Zarejestrowani
Postów: 139
Pomógł: 2
Dołączył: 2.12.2011

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


posiadam parenaście stron na swoim hostingu, nie chce do każdej dodawać w stopce rekamy, tylko uzylem auto_append_file w php.ini

problem w tym ze dodaje to rekamy również do stron gdzie wykorzystane jest GD a z rekamą GD nie zadziała.

Witam!
wcześniej nie mialem czasu aby to przetestować, dziś robiąc to okazało się że niestety żaden ze sposobow nie chce działać.

A może zamiast takiego kombinowania dałoby rade zamiast np. zamiast </body> wstawić
  1. mój tekst
  2. </body>

?
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:30