Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]$_FILES['plik']['tmp_name'], auto uzupełnianie ścieżki wybranego pliku po błędzie
fate
post 25.10.2012, 19:03:43
Post #1





Grupa: Zarejestrowani
Postów: 824
Pomógł: 106
Dołączył: 14.03.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Czy można w PHP zrobić ażeby ścieżka pliku została uzupełniona ponownie w Inpucie File na tą samą którą już user wybrał jeżeli z powodu niespełnienia innego warunku skrypt wróci na początek? Wiem że ścieżka tego pliku zapisuje mi się w $_FILES['plik']['tmp_name'] Naskrobałem takie coś w value ale widocznie to nieodpowiednie rozwiązanie dla inputa typu file bo pole wyboru jest mimo to puste, może ktoś mądry wie gdzie podać tą zmienną i jak bom może niedoinformowany nerdsmiley.png

  1. <input class="input" name="plik" type="file" value="<? if (!empty($_FILES['plik']["tmp_name"])) {echo $_FILES['plik']["tmp_name"];} ?>" />


Możliwe jest uzupełnienie inputa file treścią stringa? jakiś inny sposób? ajax? goatee.gif


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
jaslanin
post 25.10.2012, 20:03:06
Post #2





Grupa: Zarejestrowani
Postów: 511
Pomógł: 143
Dołączył: 13.03.2010
Skąd: Jasło

Ostrzeżenie: (0%)
-----


nie możesz tego zrobić, ze względów bezpieczeństwa. Jakby było to dozwolone czarne charaktery stosunkowo łatwo mogły by pobrać dowolny plik którego lokację by znały z Twojego komputera. Np. historię przeglądanych stron, hasła przeglądarki itp itd. jeżeli znajdują się w domyślnych lokalizacjach

Zamiast tego możesz zapisywać plik mimo iż pozostała część formularza nie przeszła. Adres przekazujesz po raz drugi np. poprzez ukryte pole tekstowe przechowujące jego tymczasowy adres. Dodatkowo userowi dobrze jest wyświetlić nazwę pliku / obrazek by wiedział że transfer pliku się powiódł. Jak user wybierze inny to go kasujesz, dodatkowo co jakiś czas czyścisz ten tymczasowy folder z przerwanych operacji.


--------------------
Good luck and happy PHP'ing
Go to the top of the page
+Quote Post
fate
post 26.10.2012, 10:52:15
Post #3





Grupa: Zarejestrowani
Postów: 824
Pomógł: 106
Dołączył: 14.03.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Powinienem sobie poradzić, dzięki spróbuję bo dla mnie to istotna sprawa. aaevil.gif
Nie zwróciłem uwagi na dokładną ścieżkę zwracanego pliku ale sądząc po przedrostku tmp nie jest to pewnie prawdziwa ścieżka i wszystko jasne.
+

Dodam dla potomnych ciekawe rozwiązanie po stronie przeglądarki bynajmniej Mozilla 12 mi tak robi (IE8 już nie) że plik nie zostaje nawet wysłany więc pole wyboru pliku pozostaje uzupełnione - wystarczy dodać do inputa parametr required="required"
Podsumowując po przeładowaniu się nie da a zanim się wyśle pewnie i są inne sposoby JS/AJAX headsetsmiley.png


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 11:43