Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Filtrowanie danych (link do zdjęcia)
Ingram
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 14.06.2012

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


Witam,

jak użyć preg_match aby sprawdzalo czy link ma na końcu rozszerzenie jpg jpeg albo png ?
Z góry dzięki

Ten post edytował Ingram 16.06.2012, 19:25:11
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
IProSoft
post
Post #2





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

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


  1. preg_match("/\.([^\.]+)$/", $file_name, $match);
  2. echo $match[1] ;

i do tego jakiś if

Ten post edytował IProSoft 16.06.2012, 22:53:21
Go to the top of the page
+Quote Post
Ingram
post
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 14.06.2012

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


dzięki, ale nie bardzo rozumeim.

Mam takie coś:

  1. if (isset($_POST["wyslane"])) {
  2. $avatar = htmlspecialchars(stripslashes(strip_tags(trim($_POST["avatar"]))), ENT_QUOTES);
  3.  
  4. if (!preg_match("/ tutaj nie wiem co wpisac /i", $avatar)) {
  5. $blad++;
  6. echo '<span class="blad">Proszę wprowadzić poprawnie adres do obrazka.</span>';
  7. }
  8. if (@$blad == 0) {
  9. $wynik = mysql_query("UPDATE $tabela SET avatar='$avatar' WHERE login='$login' ");
  10.  
  11. if ($wynik) {
  12. echo '<span class="avatarok"><p>Avatar został zmieniony!</p></span>';
  13. }
  14. }
  15. }


$avatar to właśnie jest link do obrazka

edit:
tak sobie czytałem i tu moje pytanie jeśli coś takiego da się osiągnąć za pomocą np. fopen albo file_existens to jak (IMG:style_emoticons/default/wink.gif) jeśli za pomocą preg match się Nie da to szzukam innego rozwiązania.
dzięki...

Ten post edytował Ingram 17.06.2012, 01:12:51
Go to the top of the page
+Quote Post
d3ut3r
post
Post #4





Grupa: Zarejestrowani
Postów: 709
Pomógł: 176
Dołączył: 24.10.2010

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


można np tak:

  1.  
  2. function checkFile($name){
  3.  
  4. $pattern='/\\.jpg|\\.jpeg|\\.png$/i';
  5. $matches=array();
  6.  
  7. if (preg_match($pattern,substr($name,-4),$matches)){
  8.  
  9. return true;
  10.  
  11. } else{
  12.  
  13. return false;
  14.  
  15. }
  16. }
  17.  
  18. if (checkFile('test.png')){
  19.  
  20. echo "plik poprawny";
  21. } else{
  22. echo "złe rozszerzenie pliku";
  23. }
Go to the top of the page
+Quote Post
Ingram
post
Post #5





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 14.06.2012

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


Dziękuję bardzo (IMG:style_emoticons/default/smile.gif)

funkcja sprawdza czy ostatnie 4 litery się zgadzają, a tu moje pytanie jak ktoś wprowadzi nie poprawny link ale na końcu będzie dobre rozszerzenie to czy da sieto jakoś sprawdzić?
Go to the top of the page
+Quote Post
d3ut3r
post
Post #6





Grupa: Zarejestrowani
Postów: 709
Pomógł: 176
Dołączył: 24.10.2010

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


http://stackoverflow.com/questions/981954/...p/982045#982045

generalnie funkcja file_get_contents lub CURL
Go to the top of the page
+Quote Post
Ingram
post
Post #7





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 14.06.2012

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


Świetnie (IMG:style_emoticons/default/wink.gif) dzięki bardzo.
Połączyłem dwie metody preg_match i curla (musiałem go włączyć w php.ini) i wszystko działa sprawnie (IMG:style_emoticons/default/smile.gif)

ale ... zawsze jest jakieś ale (IMG:style_emoticons/default/smile.gif)
funkcja curla musi mieć http:// na początku adresu i chciałbym dodać do funkcji checkFile preg_matcha który sprawdził by jeszcze 7 pierwszych znaków (http://) trochę kombinowałem ale coś nie ogarniam tych wyrażeń regularnych...
Go to the top of the page
+Quote Post
!*!
post
Post #8





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Kod
'/http\:\/\/?/'
Znak zapytania po wyrażeniu, oznacza że może wystąpić, lecz nie musi.

Ten post edytował !*! 17.06.2012, 10:58:58
Go to the top of the page
+Quote Post
Ingram
post
Post #9





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 14.06.2012

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


Dziękuję bardzo (IMG:style_emoticons/default/smile.gif)
Wszystko działa idealnie,
pozdrawiam
Go to the top of the page
+Quote Post
kudlatypawelek
post
Post #10





Grupa: Zarejestrowani
Postów: 46
Pomógł: 5
Dołączył: 30.06.2011

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


http://php.net/manual/pl/function.pathinfo.php. Przykład z dokumentacji. Wyciągniesz sobie rozszerzenie, a potem it's up to you co z tym zrobisz
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 - 15:47