![]() |
![]() ![]() |
![]() |
--Mike-- |
![]()
Post
#1
|
Goście ![]() |
Witam,
Pewnie będzie to dla Was niezbyt trudną do rozwiązania kwestią, ale ja głowię się nad nią już od tygodnia. Byłbym bardzo wdzięczny za jakąkolwiek pomoc! A więc tak: mam formularz php wysyłający maila na dany adres, dodatkowo z funkcją, która umożliwia załączenie większej ilości plików. Wygląda to mniej więcej tak: Kod <?For($i=1;$i <= $allowattach; $i++) {?> <tr> <td style="text-align: right; font-size: 11px; font-weight: bold;"> <label for="attachment">Zdjęcie lub inny załącznik</label> </td> <td> <input name="attachment[]" type="file" /> </td> </tr> <?}?> oraz: Kod If($allowattach > 0) { For($i=0; $i <= $allowattach-1; $i++) { If($_FILES['attachment']['tmp_name'][$i]) { $message.=phattach($_FILES['attachment']['tmp_name'][$i], $_FILES['attachment']['name'][$i], $boundary); } //If $_FILES['attachment']['name'][$i] } //For } // If I teraz, chciałbym żeby w przychodzącym mailu znalazła się informacja o nazwach załączonych plików. Na takiej samej zasadzie jak: Kod $message.="Nazwisko: ".$_POST['nazwisko']."\n"; wyświetla mi wartość wpisaną w pole nazwisko, chciałbym aby wyświetlały się nazwy plików, na zasadzie: "Lista załączników: plik1.jpg plik2.jpg..." Gdyby forms miał tylko jeden dozwolony załącznik sprawa byłaby prosta, załatwiła by to zmienna: Kod $_FILES['attachment']['name'] Ale w przypadku kilku załączników to nie działa. Powyższa komenda zwraca tylko puste pole. Podobnie jak zmienna: Kod $_FILES['attachment']['name'][$i] Tak samo, puste pole. Co mogę zrobić, żeby w przychodzącym mailu wyświetlały się nazwy załączonych plików? ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 144 Pomógł: 18 Dołączył: 11.12.2005 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
sprawdź var_dumpem co zwraca Ci tablica $_FILES
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
1. Masz odpowiedni Enctype w FORM?
2. Chcesz wysyłać pliki korzystając z wielu <input type="file"/> czy z jednego MULTI? -------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
--Mike-- |
![]()
Post
#4
|
Goście ![]() |
1. Masz odpowiedni Enctype w FORM? 2. Chcesz wysyłać pliki korzystając z wielu <input type="file"/> czy z jednego MULTI? 1. Tak. Mam enctype="multipart/form-data" 2. Z wielu. ![]() var_dump($_FILES) zwraca mi: array(0) { } a var_dump($_FILES['attachment']['name'][$i]) zwraca: NULL I ogólnie nie chodzi mi o samo wysłanie plików, bo to działa bez zarzutu. ![]() ![]() |
|
|
--Mike-- |
![]()
Post
#5
|
Goście ![]() |
Najśmieszniejsze jest to, że mam tam też alert, który wyskakuje kiedy załączy się plik o niedozwolonym rozszerzeniu
Kod If(!in_array(get_ext($_FILES['attachment']['name'][$i]), $allowtypes)) { // ALERT WYSKAKUJĄCY, GDY PRÓBOWANO ZAŁĄCZYĆ PLIK Z NIEDOZWOLONYM ROZSZERZENIEM echo ' <script type="text/javascript"> alert("Niedozwolone rozszerzenie pliku:\n'.$_FILES['attachment']['name'][$i].'"); history.back(-1); </script> '; I w tym alercie wyświetla mi nazwy tych plików. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 20:25 |