![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 20.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
Mój problem dotyczy uploadowania plików na serwer.
Na stronie edycyjnej określam tytuł pliku oraz lokalizację pliku za pomocą znacznika
przesyłam to do skryptu wykonującego upload jako $_POST (tytuł) i $_FILES (plik). skrypt sprawdza najpierw, czy:
następnie sprawdza czy plik o tej nazwie istnieje w lokalizacji docelowej (file_exist). Jeżeli nie istnieje to wykonuje INSERT do bazy i przenosi plik z tmp do lokalizacji z użyciem move_uploaded_file. problem pojawia się w chwili gdy okazuje się, że plik o nazwie identycznej jak w $_FILES['plik_uploadowany']['name'] już istnieje. Stworzyłem tam formularz z pytaniem czy należy plik nadpisać. Jeżeli nie to wracam do strony listującej pliki w lokalizacji. Jeżeli tak formularz przeładowuje skrypt i zaczyna sprawdzanie tytułu, typu plilku itd. ... i tu właśnie się zatrzymałem $_FILES['plik_uploadowany']['name'] przecież już nie istnieje. Co można zrobić w tej sytuacji? Jak stworzyć efektywny mechanizm potwierdzania nadpisywania plików? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
1) wysylasz plik
2) okazuje sięze istnieje. zapisujesz go wiec na serwerze pod jakas nazwą, ktora wymyslasz (np. nazwa pliku + timestamp) i zapamietujesz 3) wysylasz do kolesia forma z zapytaniem czy nadpisac. w formie tym w polu hidden zapisujesz te wymyslona nazwe. 4) jesli koles klinknie ze nadpisac, to przegrywasz ten plik juz z wlasciwa nazwa. jak kliknie ze nie nadpisac, to usuwasz proste ![]() ja tam nigdy takich zabiegow nie robie. jak sie nazwa powtarza, to tworzy sie plik o takiej nazwie + kolejny numer porządkowy i juz. Ale to zalezy kto czego potrzebuje -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 02:59 |