Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Post - przesyłanie obrazka, jeżeli nie jpg, przerwać działanie skryptu
Forum PHP.pl > Forum > PHP
seba22
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ć ?
wookieb
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.
}
seba22
Witaj,

Czy jako zmienną $text mam przypisać zmienną z POST zawierającą niby obrazek czyli: $content; ?
wookieb
Zawierająca nazwe obrazka;
  1. <?php
  2. $text=$_FILES['zdjecie']['name'];
  3. ?>
seba22
Działa mistrzu.

Dziękuję smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.