Article View: pl.comp.lang.php
Article #99Re: rysunki i pliki w bazie
From: Adam Major
Date: Wed, 22 Aug 2001 07:24
Date: Wed, 22 Aug 2001 07:24
58 lines
2722 bytes
2722 bytes
Witaj! > Pliki nie maja tendencji do gubienia sie. Stawiam diamenty przeciwko > orzechom ze takie rozwiazanie (pliki osobno, w bazie jakis namiar na > nie) spowoduje to ze po jakims czasie bedzie mnostwo plikow nie > majacych swojego rekordu w bazie. I ten wlasnie bajzel jest > najwiekszym problemem. Nie wiem o jakim bajzlu mowisz. Dobrze napisana aplikacja nie ma prawa pozwolic na powstawanie jakichkolwiek "nie zwiazanych" plikow. Najprosciej mozna to uzyskac nastepujaco: 1. nazwa pliku = id w bazie czyli mamy np. ... id smallint unsigned not null auto_increment, pict_st tinyint unsigned, tekst text, ... i teraz jesli pict_st > 0 to znaczy ze jest plik a jego rozszezenie zalezne jest od numeru pict_st 1 = GIF, 2 = JPG, 3 = PNG 2. wszystkie plik umieszczasz w wybranym katalogu np. img/ Jesli plikow ma byc sporo np. 2000 i wiecej to tworzysz podkatalogi np. img/ 1/ 2/ 3/ i ladujesz np. po 500 (lub jak to woli 100 ;-) do podkatalogu 3. Przy kasowaniu rekordow a) pobierasz do tablicy wartosc pict_st z rekordów ktore chcesz skasowac. b) kasujesz rekordy z bazy c) w petli robisz kasowanie wszystkich plików z tablicy, ustalajac dla kazdego indywidualnie rozszezenie pliku. 4. Przy edycji danego newsa (nawiazujac do poprzedniego przykladu) a) dajesz pole do wybrania innego pliku oraz checkboxa do odznaczenia (skasowania) obrazka z newsa. b) jesli odznaczysz obrazek to wpisjesz pict_st = 0 oraz dajesz clearstatcache (); c) jesli w edytowanym newsie zmieniasz obrazek to: - pobierasz stara wartosc pict_st - kasujesz stary obrazek jesli byl - clearstatcache (); - dalej postepujesz jak przy dodawaniu (oczywiscie zamiast INSERT robisz UPDATE) Reasumujac nic Ci sie nie moze zepsuc. Pozdrawiam Adam.
Technical Details
Message-ID:
<3B835E17.47CB7142@tenbit.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!pcmedia.com.pl!news.man.szczecin.pl!news.mega.net.pl!news.tpi.pl!not-for-mailReferences:
<3b7e345f$1@news.bsi.net.pl> <3B821353.D31639F6@tenbit.pl> <3B8219A5.B419365E@otwarte.pl> <Xns91046EAFBF11Fmsznajderfxmediacomp@212.244.96.243>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!pcmedia.com.pl!news.man.szczecin.pl!news.mega.net.pl!news.tpi.pl!not-for-mail From: Adam Major <amajor@tenbit.pl> Newsgroups: pl.comp.lang.php Subject: Re: rysunki i pliki w bazie Date: Wed, 22 Aug 2001 09:24:07 +0200 Organization: tp.internet - http://www.tpi.pl Lines: 59 Message-ID: <3B835E17.47CB7142@tenbit.pl> References: <3b7e345f$1@news.bsi.net.pl> <3B821353.D31639F6@tenbit.pl> <3B8219A5.B419365E@otwarte.pl> <Xns91046EAFBF11Fmsznajderfxmediacomp@212.244.96.243> NNTP-Posting-Host: pa78.bydgoszcz.cvx.ppp.tpnet.pl Mime-Version: 1.0 X-Trace: news.tpi.pl 998465100 3676 213.76.48.78 (22 Aug 2001 07:25:00 GMT) X-Complaints-To: usenet@tpi.pl NNTP-Posting-Date: 22 Aug 2001 07:25:00 GMT X-Accept-Language: pl,en X-Mailer: Mozilla 4.74 [en] (Win98; U) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit