Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak przechowywać zdjęcia
Forum PHP.pl > Forum > Przedszkole
Gość
Będę robił stronę na której użytkownicy będą mogli zakładać konta, w swoim koncie bedą mogli podawać swoje dane itp. te dane będą przechowywane w bazie danych MySQL, ale mam jeden problem. Użytkownik bedzie mógł dodawać kilka zdjęć najprawdopodobniej 5 zdjęć. I teraz nie wiem jak te zdjęcia przypisać do danego użykownika?
jastu
Jeśli w bazie to po ID usera , a jeśli na dysku to dla każdego propunyje folder - a może później podfoldery żeby to pogrupować na glerie (nie polecam baz do tego typu czynności) .
kosheen2k
zgodze sie z jastu, do bazy danych nie bardzo by to bylo ze wzgledow szybkosci dzialania.

Ja tez mam problem, skoro juz zrobic rejestracje, to podczas rejestrowania skrypt tworzy dla niego maila z linkiem aktywujacym konto (antyspamowe tworzenie kont & automagiczne kasowanie kont ktore nie zostaly zaaktywowane w ciagu np. 12h), po aktywowaniu konta jest tworzony katalog i tam pozniej user przez skrypt moze wrzucac pliki.

Wrzucac no tak poprzez upload. Wiem ze standartowo jest chyba max ~8MB plik ktory moze byc wrzucony bo bedzie inaczej timeout. Wiem takze ze mozna zmienic ten timeout w pliku php.ini. Ale co zrobic gdy nie ma sie do niego dostepu (np. serwery nazwa.pl) ? A co jakbym chcial wrzucic plik 200mb? Slyszalem cos o strumieniowaniu plikow na serwer, ale nie wiem jak to ugryzc. Drugi sposob ktory wpadl mi do glowy to poprzez ftp, ale tez nie ruszalem tej kwestii...

Czy moglby ktos podrzucic jakis pomysl, ew. kawalek BARDZO POMOCNEGO kodu?

Pozdrawiam - znerwicowany i hopeless kosheen2k.


// edit

Widze ze brak pomyslow...

Ja juz znalazlem jeden, czyli upload via php na FTP... chyba jedyny z mozliwych sposobow... mozna tez za pomoca appletow javy np. UploadPro, UploadPrincess itepe...ale tam znowu sa widoczne pliki z konfiguracja gdzie sa zapisane dane o userze i hasle, wiec odpada wg mnie. Lepszym sposobem jest w php gdzie wszystko jest kompilowane przez php a potem przez ftp_connect() i inne funkcje ftp jest wysylany na serwer do katalogu.

Jedynym mankamentem wysylania w php jest problem z ukazaniem postepu wysylania pliku. Sa dostepne w internecie AJAX & HTML Upload Progress Meter ale do tego jest potrzebna rekompilacja php i dodanie modulu ktory wykorzystuje funkcje z modulu. A jak wiadomo nie wszedzie jest mozliwosc dodania dodatkowego modulu na serwerze np. serwery nazwa.pl z ktorych ja korzystam.

Czy ma ktos jakies rozwiazanie tego problemu? Czy mozna jakos w trakcie wysylania pliku pobierac info o ilosci wyslanych danych i o pokazaniu go w formie stringa albo graficznie? Tyle ze bez dodatkowych modulow...

Prosze pomozcie w tej kwestii bo mi juz nerwy siadly :/

Pozdrawiam

Yours faithfully,
Kosheen2k.
mario
Cytat(kosheen2k @ 10.06.2006, 11:33 ) *
Wrzucac no tak poprzez upload. Wiem ze standartowo jest chyba max ~8MB plik ktory moze byc wrzucony bo bedzie inaczej timeout. Wiem takze ze mozna zmienic ten timeout w pliku php.ini. Ale co zrobic gdy nie ma sie do niego dostepu (np. serwery nazwa.pl) ?


wystarczy ze wrzucisz na serwer plik ukryty .htaccess a w nim odpowiedni wpis ktory Ci zmieni lokalna wartosc dla konfigu php'a. Poszukaj sobie na temat .htaccess

php_value upload_max_filesize 50M
php_value post_max_size 50M


Cytat(kosheen2k @ 10.06.2006, 11:33 ) *
A co jakbym chcial wrzucic plik 200mb? Slyszalem cos o strumieniowaniu plikow na serwer, ale nie wiem jak to ugryzc.


php_value upload_max_filesize 50M
php_value post_max_size 50M


i do tego w kodzie ktory obsluzy upload pliku ustawienie odpowiednio duzego czasu na wykonanie skryptu funkcja set_time_limit(xxx).

Cytat(kosheen2k @ 10.06.2006, 11:33 ) *
Drugi sposob ktory wpadl mi do glowy to poprzez ftp, ale tez nie ruszalem tej kwestii...
Lepszym sposobem jest w php gdzie wszystko jest kompilowane przez php a potem przez ftp_connect() i inne funkcje ftp jest wysylany na serwer do katalogu.


nie sadze by bylo to zbyt bezpieczne, jak nie zabezpieczysz odpowiednio skryptu z config'iem z danymi do FTPa to ktos moze sobie te dane wyciagnac a co za tym idzie ma dostep do Twojego serwerka :-) Nigdy takiej metody nie stosowalem i nie mam zamiaru stosowac. Dobrze napisany upoload zalatwia cala sprawe.

Cytat(kosheen2k @ 10.06.2006, 11:33 ) *
Jedynym mankamentem wysylania w php jest problem z ukazaniem postepu wysylania pliku. Sa dostepne w internecie AJAX & HTML Upload Progress Meter ale do tego jest potrzebna rekompilacja php i dodanie modulu ktory wykorzystuje funkcje z modulu. A jak wiadomo nie wszedzie jest mozliwosc dodania dodatkowego modulu na serwerze np. serwery nazwa.pl z ktorych ja korzystam.


znowu kolego musze Cie pocieszyc ze i na to jest rozwiazanie. Ja mam rowniez hosting na www.nazwa.pl i z tego co sie orientuje nie ma problemow z instalacja dodatkowych modulow na serwerku (jest odpowiednia do tego funkcja, poszukaj w manualu). Na jednej ze stron mam skrypt ktory "nakleja" tekst na obrazek z fontow wgranych na serwer a wiec nie tych udostepnionych przez standardowy konfig w nazwa.pl

Proponuje Ci w takich technicznych sprawach rozmawiac z administratorami nazwa.pl
kosheen2k
OK wszystko rozumiem... jesli chodzi o nazwa.pl to tylko brakuje mi katalogu cgi-bin, ktory jak pisza w pomocy nazwa.pl powinien tam byc :/

Teraz prosze niech mi pan napisze czy posiada cos takiego jak katalog cgi-bin w swoim katalogu serwera.

Pozdrawiam
mario
Prosze nie pisac do mnie per PAN :-)

Oczywiscie ze posiadam i jest standardowo w kazdym koncie. Jezeli nie ma prosze napisac do administratora nazwa.pl a oni go przywroca. Mozna rowniez sprobowac go sobie stworzyc recznie, powinno zadzialac rowniez.

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.