Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Przechowywanie duzej ilosci zdjec
Forum PHP.pl > Forum > Przedszkole
miojamo
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.
guilty82
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
Pilsener
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)
webasek
można też użyć LAST_INSRT_ID() tutaj opis
miojamo
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
webdice
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()
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.