Jestem nowy na tym forum, aczkolwiek czytam je od jakiegoś czasu.
Popełniłem byłem skrypt do uploadu plików i prosiłbym o sprawdzenie, ew. wytknięcie błędów, tudzież wskazanie miejsc gdzie można coś poprawić, ulepszyć, bezpieczeństwo zwiększyć.
Ostatnie moje wypociny w PHP miały miejsce w 2002 roku, tak więc przerwę miałem dość długą.
Znajoma poprosiła mnie aby jej zrobić prostą stronę gdzie można będzie uploadować pliki Worda, Excela, PowerPointa, PDF, TXT i RTF.
Poczytałem trochę, podszkoliłem, wypociny zamieszczam poniżej.
Skrypt działa. Jeśli ktoś chciałby go używać, proszę bardzo.
Z góry dziękuję za wszelkie komentarze.
Formularz:
Skrypt:
<? //Zmienne $ok="plik_ok.html"; $notok="plik_notok.html"; $adres = "adres@email.pl"; $temat = $_POST['nazwisko'] . " - " . $_POST['teflon']; $email = $_POST['email']; $tresc = $_POST['tresc']; $pl_nazwa = $_FILES['pliczek']['name']; $pl_typ = $_FILES['pliczek']['type']; $naglowki = "MIME-Version: 1.0\n"; $naglowki .= "Content-type: text/html; charset=utf-8\n"; $naglowki .= "From: $email\n"; function zmienne() { //sprawdzamy czy formularz wypełniony (treść może być pusta) return 1; } else { return 0; } } function sprawdz($email) { //sprawdzamy czy jest i czy poprawny adres email return 0; } else { return 1; } } function spr_plik($pl_nazwa) { //sprawdz czy plik odpowiedniego typu $pl_typ = $_FILES['pliczek']['type']; $typy_mime = array("application/msword","application/vnd.ms-excel","application/vnd.ms-powerpoint","application/pdf","text/plain","text/rtf","text/richtext"); //deklaracja akceptowanych typów MIME return 1; } else { return 0; } } if (zmienne() && sprawdz($email) && spr_plik($pl_nazwa)) { $tresc = $_POST['tresc']; $tresc .= "\nZałączony plik: <a href=http://domena.pl/$pl_nowy>$pl_nowy</a>"; //dodaj na końcu wiadomości info o pliku $tresc .= "\nOryginalna nazwa pliku: $pl_nazwa"; //Do wiadomości $tresc .= "\nKontakt: $temat"; //Od kogo $tresc .= "\nDziękuje"; include ($ok); //wyświetl stone że jest wporzo } else { include ($notok); //wyświetl strone że nie jest wporzo } } else { include ($notok); //wyświetl strone że nie jest wporzo } ?>