🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.php
Article #99

Re: rysunki i pliki w bazie

#99
From: Adam Major
Date: Wed, 22 Aug 2001 07:24
58 lines
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-mail
References: <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