![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 20.11.2019 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich.
Planuję zrobić prostą stronę - informacja o imprezie. Na stronie chciałbym umieścić formularz z możliwością rejestracji (kilka danych :Imię , nazwisko, nick, email, tel). Dodatkowo chcę aby była możliwość przesłania zdjęcia - Avatar uczestnika. Kod testuję lokalnie na xampp serwer Apache. Na stronce wpisuję dane ,otwiera się okno uploadu, wybieram plik i klikam wyślij. Wpisane do formularza dane tekstowe Imię i nazwisko ... wyświetlają się na stronie, natomiast mam problem z lokalizacją i zapisem zdjęcia na serwerze. Kod php którego używam : wysyłanie pliku : <form enctype="multipart/form-data" action="plik.php" method="post" > <input type="hidden" name="MAX_FILE_SIZE" value="512000" /> <input type="file" name="obrazek" /> <input type="submit" value="wyślij" /> </form> zapis na serwerze odebranego plku: <?php function zapisz_plik() { $lokalizacja = './temp/plik_obrazkowy.jpg'; if(is_uploaded_file($_FILES['obrazek']['tmp_name'])) { if(!move_uploaded_file($_FILES['obrazek']['tmp_name'], $lokalizacja)) { echo 'problem: Nie udało się skopiować pliku do katalogu.'; return false; } } else { echo 'problem: Możliwy atak podczas przesyłania pliku.'; echo 'Plik nie został zapisany.'; return false; } return true; } ?> Plik nie zapisuje się nigdzie, nie jestem pewien czy dobrze podaję ścieżkę zapisu i drugi parametr['tmp_name']. Kolejna kwestia, to zapis tych danych w bazie danych na serwerze i ich wyświetlenie w formie listy uczestników(Imię, nazwisko, nick) z avatarem. Dodatkowo podczas rejestracji można by dodać pole wyboru darmowego gadżetu z pośród kilku dostępnych w formie pola wyboru "radio", info dostępne tylko dla organizatora. Jak najprościej zrealizować taką funkcję na stronie? Będzie to mała impreza max kilkadziesiąt osób. Z góry dzięki . Pozdrawiam. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 20.11.2019 Ostrzeżenie: (0%) ![]() ![]() |
Utworzyłem odpowiednie katalogi , do których odnosiła się lokalizacja i do których powinien się zapisać plik . U mnie było to $lokalizacja = './testy/grafika/obrazek.jpg.';
Nadałem prawa do zapisu i nadal występuje problem podczas próby zapisu. Wkleiłem też do php kod: <?php // wyświetlanie typu pliku echo $_FILES['obrazek']['type']; // wyświetlanie rozmiaru echo $_FILES['obrazek']['size']; // wyświetlanie nazwy pliku echo $_FILES['obrazek']['name']; // wyświetlanie nazwy tymczasowej echo $_FILES['obrazek']['tmp_name']; // wyświetlanie ewentualnych błędów echo $_FILES['obrazek']['error']; ?> W odpowiedzi pokazuje : image/jpeg19612zdj.jpg/tmp/phpoyDuP10 Czyli z tego z rozumiem plik jest w katalogu tymczasowym na serwerze ale nie może zostać zapisany do katalogu docelowego OK. Już działa. Problem polegał na tym, że do testów utworzyłem na serwerze katalog testy i tam kopiowałem pliki upload.html i upload.php. Po wklepaniu strony xxx.prv.pl/testy/upload.html stronka uploadu się otwierała natomiast podczas zapisu pliku pomimo właściwej ścieżki dostępu i uprawnień zapisu, operacja kończyła się błędem. Po umieszczeniu plików upload.html i upload.php do katalogu głównego i wklepaniu adresu xxx.prv.pl/upload.html, wszystko zadziałało jak należy. Można zapisywać pliki do dowolnego katalogu na serwerze, po wpisaniu odpowiedniej ścieżki w pliku upload.php. Czy istnieje sposób aby testy robić w osobnym katalogu na serwerze? czy zawsze trzeba umieszczać pliki w katalogu głównym? Dzięki za pomoc. Pozdrawiam. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 04:42 |