Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Post - przesyłanie obrazka, jeżeli nie jpg, przerwać działanie skryptu
seba22
post
Post #1





Grupa: Zarejestrowani
Postów: 293
Pomógł: 4
Dołączył: 28.01.2005

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


Witam,

Mam taki fragment odnośnie dodawania zdjęcia do bazy MYSQL.
  1. <?php
  2. if ($akcja=='wczytajzdjecie')
  3.  
  4. {
  5.  
  6. $fhandle = fopen($_FILES['zdjecie']['tmp_name'], "r");
  7. $content = base64_encode(fread($fhandle, $_FILES['zdjecie']['size']));
  8. fclose($fhandle);
  9.  
  10. // Wywalam ssyf niebezpieczny
  11. $item = $content;
  12. $escaped_item = mysql_escape_string($item); 
  13. $content=htmlspecialchars($escaped_item);
  14. // Wywalam ssyf niebezpieczny
  15.  
  16.  
  17. // Zapytanie do SQL
  18. // bla bla bla...
  19.  
  20.  }
  21. ?>



Czy ma ktoś jakiś pomysł jak sprawdzić czy plik który leci przez POST ma na pewno rozszerzenie obrazka ?
tj jpg,JPG,jpeg

W razie wykrycia, że użytkownik wstawi np plik .exe działanie skryptu ma zostać przerwane.

Czy ktoś by mi mógł pomóc...
Gdyby nie zapis do SQL to nie było by problemu bo istnieje funkcja explode.

Ale nie chce zapisywać żądnych plików fizycznie na serwer...

Czy ktoś mógł by popatrzeć ?
Go to the top of the page
+Quote Post
wookieb
post
Post #2





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




Kod
$text='filef.sdfadf.agasdg.gif';


if(preg_match('/\.([a-zA-Z0-9]{2,4})$/', $text, $match))
{
$ext=strtolower($match[1]); //tutaj masz rozszerzenie i teraz sobie mozesz je sprawdzic.
}


Ten post edytował wookieb 15.08.2008, 11:13:28
Go to the top of the page
+Quote Post
seba22
post
Post #3





Grupa: Zarejestrowani
Postów: 293
Pomógł: 4
Dołączył: 28.01.2005

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


Witaj,

Czy jako zmienną $text mam przypisać zmienną z POST zawierającą niby obrazek czyli: $content; ?
Go to the top of the page
+Quote Post
wookieb
post
Post #4





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




Zawierająca nazwe obrazka;
  1. <?php
  2. $text=$_FILES['zdjecie']['name'];
  3. ?>
Go to the top of the page
+Quote Post
seba22
post
Post #5





Grupa: Zarejestrowani
Postów: 293
Pomógł: 4
Dołączył: 28.01.2005

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


Działa mistrzu.

Dziękuję (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
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: 16.09.2025 - 10:33