Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> move_uploaded_file a zgoda na nadpisanie istniejącego pliku
bat21
post
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
  1. <input type="file">


przesyłam to do skryptu wykonującego upload jako $_POST (tytuł) i $_FILES (plik).

skrypt sprawdza najpierw, czy:
  • podano tytuł
  • plik ma dopuszczalne rozszerzenie i rozmiar

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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
nospor
post
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 smile.gif

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

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 Aktualny czas: 21.08.2025 - 02:59