![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 259 Pomógł: 0 Dołączył: 26.10.2004 Ostrzeżenie: (0%) ![]() ![]() |
proszę o podpowiedź jak rozwiązać taki problem:
mam komis samochodowy i chciałbym aby user dodawał zdjęcia swojego samochodu . Do uploadu używam takiego czegoś:
problem polega na tym iż gdy jeden uzer wprowadzi fotkę o nazwie auto.jpg a później inny dla innego samochodu też wprowadzi fotkę "auto.jpg" nadgra się. Jak wybrnąć z tego problemu. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 186 Pomógł: 0 Dołączył: 23.09.2003 Skąd: Siemianowice Śląskie Ostrzeżenie: (0%) ![]() ![]() |
ja to rozwiązałem w prosty sposób, wyciagam rozszerzenie uploadowanego pliku, losuję ciąg znaków i zapisuję pod nową losową nazwą:
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 147 Pomógł: 0 Dołączył: 3.03.2004 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
nie lepiej numerować ? od 1 ?
a jak bardzo chcesz zostać przy nazwach od usera, sprawdzaj czy plik istnieje przez file_exists. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 186 Pomógł: 0 Dołączył: 23.09.2003 Skąd: Siemianowice Śląskie Ostrzeżenie: (0%) ![]() ![]() |
rozwiązanie które proponujesz jest proste, lecz ma wadę. Przy uploadzie bez możliwości kasowania zdjęc spoko, ale w momencie kiedy user będzie miał możliwość skasowania swojej fotki, pozostają "luki w liczeniu", tzn. jeżeli powiedzmy zostanie skasowane kilka(naście) fotek zostają wolne cyfry które można ponownie użyć. Gdyż zliczasz ilość zdjęć w katalogu. I tak powiedzmy nie ma 5, 9 i 15 zdjęcia z 15 wczytanych.
Skrypt poda że $zdjec = 12 gdyż 15-3 fotki skasowane daje właśnie 12. Ale nie możesz zapisać fotki jako 13.jpg gdyż jest, 14.jpg również itd. Musiałby zrobić pętelkę i sprawdzać czy jest wolne miejsce na następne liczenie, czyli dopiero by zapisał jako 16.jpg co daje już 4 razy wykonanie pętli (13, 14, 15, 16). Gdy tego będzie więcej analogicznie pętla zostanie wykonana znacznie więcej razy. Nie wspominam już o możliwości powtórnego nazewnictwa 5.jpg, 9.jpg i 15.jpg W moim rozwiązaniu mając daną losową nazwę składającą się z 32 znaków (cyfry 0-9 i litery a-z) masz znacznie więcej kombinacji, można sobie policzyć ile jest mozliwych takich kombinacji - mnóstwo. Gwarantuję że aby się dana nazwa powtórzyła jest tak jak szansa wygrania w toto, więc co najwyżej warunek sprawdzający czy dana fotka o takiej nazwie istnieje wykona się co najwyżej raz. Moim zdaniem obie metody są dobre, jak każdy kod php ma swoje wady i zalety. Każdy cel można osiągnąć na milion sposobów, a jak to zrobić należy już do twórcy. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 147 Pomógł: 0 Dołączył: 3.03.2004 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
akurat ten mój kod został stworzony bez możliwości usuwania fotek (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
w przypadku o którym piszesz trza by zmodyfikować o sprawdzanie czy plik istnieje. EDIT można by też datą i godziną wstawienia. Wtedy by łatwiej było obsługiwać taką galerie fotek. Ten post edytował tara 5.05.2005, 20:40:08 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.09.2025 - 18:17 |