Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Przechowywanie duzej ilosci zdjec
-miojamo-
post 30.09.2008, 09:07:23
Post #1





Goście







Witam

Pisze cos w rodzaju serwisu ogloszeniowego.

Problem pojawil sie przy przechowywyaniu duzej ilosci zdjec i tak:

Tabela 1 fotki
id
foto1
foto2
....


Tabela 2 ogloszenie
id
tytul
...
...
id_fotki

i teraz wysylam formularz z danymi zdjec

nie wiem za bardzo jak to ugryzc pliki musza miec unikalna nazwe wiec nazywam je po id:

  1. <?php
  2. $id.'-'.$nazwa.'.'.$extension
  3. ?>


$id pobieram po wsadzie do Tabela 1 (pobieram ostatnie) i to id wrzucam takze do tabela 2.

Problem plega na tym ze najpierw powinienem zrobic upload i sprawdzic czy sie uploaduje wtedy wrzucic do Tabela 1 i pobrac id do Tabela 2. Ale wtedy jak nazwac plik zeby mial unikalna nazwe?

Troche zamotalem ale mam nadzieje ze ktos mi pomoze dzieki.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
guilty82
post 30.09.2008, 09:37:57
Post #2





Grupa: Zarejestrowani
Postów: 176
Pomógł: 31
Dołączył: 26.03.2007

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


Możesz pobiać wpierw ostatnie $id z bazy, dodać 1 i wtedy robic upload.

Kiedys robilem cos w tym stylu i korzystalem z md5() do nadawania unikalnych nazw

  1. <?php
  2. $plik = $_FILES['plik'];
  3.        
  4.        if (is_uploaded_file($plik['tmp_name'])) {
  5.            $ext = substr($plik['name'], -4, 4);
  6.            $name = str_replace($plik['name'], $plik['name'], substr(md5($plik['name']+microtime()*3600), 0, 6).$ext);
  7.            $uploaddir = "imgages/";
  8.                
  9.            if (is_uploaded_file($plik['tmp_name'])) {
  10.                move_uploaded_file($plik['tmp_name'], $uploaddir.$name);
  11.                        }
  12.  
  13. mysql_query = ("INSERT INTO ... plik = '$uploaddir$name'");
  14. ?>


To tak z pamieci napisane.. Mam nadzieje ze ci sie uda, powodzenia smile.gif
Go to the top of the page
+Quote Post
Pilsener
post 30.09.2008, 09:38:26
Post #3





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Nie bardzo rozumiem....
1. Odbierasz plik i sprawdzasz, czy jest ok
2. Dodajesz do bazy rekord
3. Zapisujesz plik z odpowiednią nazwą
4. Dodatkowo sprawdzasz, czy rekord i plik zostały dodane/zapisane (na wypadek awarii serwa czy coś tam)
Go to the top of the page
+Quote Post
webasek
post 30.09.2008, 09:43:06
Post #4





Grupa: Zarejestrowani
Postów: 274
Pomógł: 35
Dołączył: 18.07.2008
Skąd: Kielce

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


można też użyć LAST_INSRT_ID() tutaj opis


--------------------
"Tylko dwie rzeczy są nieskończone: wszechświat oraz ludzka głupota,
choć nie jestem pewien co do tej pierwszej." Albert Einstein

Wirtualny Rynek Predykcyjny
Go to the top of the page
+Quote Post
-miojamo-
post 30.09.2008, 09:46:11
Post #5





Goście







Cytat(Pilsener @ 30.09.2008, 09:38:26 ) *
Nie bardzo rozumiem....
1. Odbierasz plik i sprawdzasz, czy jest ok
2. Dodajesz do bazy rekord
3. Zapisujesz plik z odpowiednią nazwą
4. Dodatkowo sprawdzasz, czy rekord i plik zostały dodane/zapisane (na wypadek awarii serwa czy coś tam)



a to dlatego ze uzywam klasy ktorej mi sie nie chce rozbijac pobiera plik sprawdza zapisuje ale chyba bede musial zrobic jak napisales
Go to the top of the page
+Quote Post
webdice
post 30.09.2008, 10:15:27
Post #6


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Cytat(webasek @ 30.09.2008, 10:43:06 ) *
można też użyć LAST_INSRT_ID() (...)


Taka mała literówka, ma być:

Kod
LAST_INSERT_ID()
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: 5.07.2025 - 14:03