Witaj gościu! Zaloguj się lub Zarejestruj aby móc korzystać ze wszystkich funkcjonalności jakie oferuje to forum! Rozpocznij zarabianie przez internet, poznaj korzysci pracy w domu! Rejestracja i korzystanie z forum jest całkowicie darmowe!
Praca w domu - Dodatkowa Praca - Zarabianie przez Internet
PHP - Mały problem - Wersja do druku

+- Praca w domu - Dodatkowa Praca - Zarabianie przez Internet (https://zarabiam.com)
+-- Dział: Off-Topic (/Forum-Off-Topic-9)
+--- Dział: Dział Tematyczny (/Forum-Dzial-Tematyczny-116)
+---- Dział: Informatyka (/Forum-Informatyka-121)
+---- Wątek: PHP - Mały problem (/Temat-PHP-Maly-problem-42715)



PHP - Mały problem - mrxardas - 07-09-2011 19:12

Witam mam taki problem bo chcę dodać blokade wysyłania plików z rozszeżeniem php na mój serwer ale nie potrafię tego zrobić.
Pomoże mi ktoś? tu jest kod:

<?php

$max_rozmiar = 1024*1024 * 50;
if (is_uploaded_file($_FILES['plik']['tmp_name'])) {
if ($_FILES['plik']['size'] > $max_rozmiar ) {
echo 'Błąd! Plik jest za duży!';
} else {
echo 'Odebrano plik. Początkowa nazwa: '.$_FILES['plik']['name'];
echo '<br/>';
if (isset($_FILES['plik']['type'])) {
echo 'Typ: '.$_FILES['plik']['type'].'<br/>';
}
move_uploaded_file($_FILES['plik']['tmp_name'],
$_SERVER['DOCUMENT_ROOT'].'/files/'.$_FILES['plik']['name']);
}
} else {
echo 'Błąd przy przesyłaniu danych!';
}

?>


RE: PHP - Mały problem - sl0910 - 08-09-2011 13:13

Dodaj warunek if w którym będziesz sprawdzał czy 3 ostatnie litery to nie jest 'php'.

//edit
Może coś takiego zadziała:
Kod:
<?php

$max_rozmiar = 1024*1024 * 50;
if (is_uploaded_file($_FILES['plik']['tmp_name'])) {
if ($_FILES['plik']['size'] > $max_rozmiar ) {
echo 'Błąd! Plik jest za duży!';
}
else if(!strcmp(substr($_FILES['plik']['name'], -3, 0),"php")) {
    echo 'Błąd! Nie można przysyłać plików php!';
}
else {
echo 'Odebrano plik. Początkowa nazwa: '.$_FILES['plik']['name'];
echo '<br/>';
if (isset($_FILES['plik']['type'])) {
echo 'Typ: '.$_FILES['plik']['type'].'<br/>';
}
move_uploaded_file($_FILES['plik']['tmp_name'],
$_SERVER['DOCUMENT_ROOT'].'/files/'.$_FILES['plik']['name']);
}
} else {
echo 'Błąd przy przesyłaniu danych!';
}

?>
substr($_FILES['plik']['name'], -3, 0) - "wyciągnięcie" 3 ostatnich znaków z nazwy pliku
strcmp - porównywanie ciągów


RE: PHP - Mały problem - mrxardas - 08-09-2011 16:22

Thx pomogłeś


RE: PHP - Mały problem - siampa - 10-09-2011 12:07

A co jezeli plik ma rozszerzenie .php5? najlepiej przez explode() rozbic cala nazwe na czesci i sprawdzic czy w ostatnim czlonie nie ma *php*.