DB_Binary Draft

From: Date: Fri, 16 Mar 2001 23:49:26 +0000
Subject: DB_Binary Draft
Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-34@lists.php.net to get a copy of this message
Here's a DB_Binary class, for storing binary files in a database. It's not finished but I wanted someone to take a look at it to see if it's following PEAR coding style etc. It's structured like this Binary.php Binary/ oci8.php {other extentions to come} The DB_Binary class implements // Constructor DB_Binary($tableName="files", $tableKey="fileid", $tableFile="file", &$database) // Connects and returns a new object connect($database="") // change properties after instantiation setup($tableName, $tableKey, $tableFileType="", $tableFilename="", $tableFileSize="") // stream, after the file is fetched, you can't stream it to the clent.. Uses header functions function stream() The DB_Binary_oci8 class impements // save, save the file to the db function save($fileID="", $file, $filetype="", $filename="", $filesize=""){ // fetch, get the file from the db function fetch($fileID) // The reasons behand this class are than while storing files in a databse // in mysql is a breeze, in other databases (oracle, pgsql) things are not so // smooth. I spend a long time in the www.phpbuilder.com forums and a lot of the questions // there where how to store file in oracle and get them out. Onother popular // question was how to execute stored procedures, espesially one returing // recordsets. This class will support saving files submitted from forms to // the database, fetching them and/or streaming them to the user, with the apropriate // file type if saved in the database. Future extentions would be to include dynamic resizing // for images, but I have no idea how to do that. Another idea for extedning this would be // to make it get multiple files, but that might lead to performance hits begin 666 DB_Binary.zip M4$L#!!0```(!P]<2KC_H3"Z0``($!`;```0FEN87)Y+T5X=')E;G1I M;VY!<&DN<F5A9&UE;9!!:\,P#(7O@?R'A^FAA:1L/V"#06'7P78?3B+/8HD= M;*5=]NL7F5(VV$E(?N_3D]LS[H[W=557;YY 7T)!. 9D'Y=Q0%[F.2:!;(\N MCF.\</C 1.+CD.L*;9OMF?8[QR,U*"78B1Z,N7:RSK^ZS-_:'38G7BBYF*:" M'JS8SF9"GJEGQSW<$GH-DB$1NJ/H.@XVK45>ECN2WBOLF>0&@DOQBNV.>/W' M"P[8B>?</KYKK)/.;!B45"[=9K BB;M%*.^AN1OH90WT(AP4H5*;DEW_P)YN M/BCOPN+Q26N&4?_V$T8)6I5J?@!02P,$% ```@2CUQ*C7JGKT<! `'@L M`\``!":6YA<GDO;V-I."YP:'"]56U/XT80_EPD_L,TBAI'YS@!5>H!!W<! MPC6Z%"B$2O<IVJPG>(NSZUNO8]*#_][9M9TW7CY47 U*\.S.,\_S[,SRX6,2 M)=M;[3;,.L&.^^-=ZTV>=P[L`2Y_OX09ZE0H";\&'?A/S\./8':BDKD6MY$! MCS=A9V_O-]]^OG>?>S[L=CH=&$;H)'S6*DO^+V;#2*20JDQSA(F($>QK-OX; MN0&C%G;N!IU=4!,P)<=8<)0I^JO,'FB5&0LPSF088PBY,!$%*9(P?L=N"5TZ M"%=IT#_IG5_W?& RM%FP#L9F3,1L3!L)U$1DRFWDDG.EX["5BQ!;.8[MZLM/ M!189D^RWVWF>!]2%@433+B6T=T>=W<#<F^ 5F'6P_@3F*H-0A""5`8T<Q8QH M`J=C?L8E)Y!IA$PZ/>3K$DR-#2-7Q&L:?4AB9 24HD6R54N4#69EP4^E1CI8 MR!$XDS E,QWKDJ683C$4S& \WQ3^0_JLFYE(Z7WXRF9*PW7$HH2E:@8?YA3X M) Q*%G U#?C\"%Y\*IEO\KR]3 =8[X?UQ8OBXCW@/:DS=HHF)-V>[NGQ_OZQ MD$S/@<<L3;>WBA_*</.8LQ0BFA@:(:-ND5(T3%AJ?.@WXIC.\HX.5=$)2I.Z MY@HQY1#3:>H"2$@>9R&.E*2Q;IP>MXMJMO<;!W:#*TL\1L7":$DT7 G#=[L7 M8)))[@2L)WAU8_OYG$WQL&9'.JWY4,2^X+P(B7 1.Z/7(DBA7^HAHR@U=?.[ M+0% XD^43(W.N"&?.(OC8J%N;Y#6T:+V2MF5<JM5UN /+,KCAI"4S="K6R[] MT\.:I3AQ>>[+S!-<!J635[VEXA_[5I&N\UB-`0[M24O,[3EHD1!_KV0]"L>D M2OIP<=(?G8X&%\<%(4I-O\64V( ^78)70_H:7D CJ/(6&H.&!XV#A4>N0>A7 M(QDTIRL%)X(+Z@3JB! #Z,.=5'D`74E#'M*M$12I8N*M09-EE8B22W (FSN" MQJ+TX_,PUNZG. V?E,"3C:_"67>'Y/P+:)O;UK%6++4)3?BK.[CI71?.+4L5 M!_Z,[F(AL)76":XXGM,8HIO?<3$=ML7L0I*9C?K0^^-R^'5T0L?M-:%9LEC? M5+OJ#6^NSOOGG^&L/^B-3KO#;M$$^U1C9!NKMB"//%*>S6P>_%1$0H'>HI5X MIHL>3)A.L;*4N\:K7_\YJ#:2!S_;S4L'2%]/:Z4W19<7@/6EB!$XR0['<SL/ MG@7QH;9D:D?.S8(/K1THVOW8&0#-2H6M3C!XCSPSA)&:J?'=7/3.NC>#87-! M:XW58Y7L"K2.[.Q:7L5QKB5=W"W(VOM1F%4K*A,TFDQ+C^Z3BR]5K*B!<8K/ M,7" 6L7QF"[EIY";E\L$#8\VFXT[8#:?]M$#<L\E_KQ:'OK7U!+P04```` M" !X6' JLC7H47H``"A``' ``$)I;F%R>2]%>'1R96YT:6]N07!I+G)E M861M97Y-CD$*0C$,1/>"=P@?%PI>P3NX\ *U36R@;4J3ZM?3^UM<N!H>F9G, M+2+@:EB,I8!&Z2F ]EJE&=AV)$E)7EP>D-&B!-WO0-T3CP?BA&>84ES&R[+\ MR-[UCY0_@TY;#J[82%J>Q<&9NSM%T(J>B3U0+W[,4#"9/X;O"U!+P0*``` M`! /W$J``````````````!P`$)I;F%R>2]02P,$% ``@P#UQ*NWV M(>%J"0`9AL`H`!":6YA<GDN<&APO5AM;QLW$O[L/D/K&"<)%=>N<8! MU]BU$R=V+D8+-ZA]N"L.!X/:I;2L=\D-R;6J)OGOG1ER=[EZ28,B/7VP)2[Y MS/LSP_WN>9573Y],I^SQ*/F&OGQ]^$4^7Q/8!_;VS5OV*(R56K&_)T?L3WT^ M_!6:O=+5RLA%[M@H';-OGCW[QP3_?DM_GTW8\='1$;O+!9GP3Z/KZO^EV5TN M+;.Z-JE@<UD(AC_KV2\B=<SIUIW'R=$QTW/F@HZ%3(6R8A)K]@&><H<`LUIE MA<C84KH<%F&EXND#7P"Z(@B2],/UJZN;VZL)XRK#4ZP/QA^Y+/@,-@*HR\$I MBYP.+[4ILL.ES,3A4LSPZ>Y/`Y8[5YU,I\OE,H$L3)1PTV#"]/C^Z#AQO[KD M$S!]L.LY6^F:93)C2CMF1"KD(ZC)4@CS%B^1@=P(5BNR!_S:@>F9X^ 5^2D; M)ZPJ! <@*Q )I0:4-<V"P!?!1@@L6PJ6<L5*<"9I';2492DRR9TH5NN&_R5Y M=E&[7)L3]C-_U(;=YCRON-6/[+L5++R03BB>I+I,TM4YV_5IK/PBGR]O)0'N M7V?[[8]+[O@,XR:5$V;.L<; >NNTD6K!9E)QLZ)BL%@9G&7A0$+'Z0^R@H'@ M:P5U)7),):JHM.#64E9!U2FVS+&D&N1U2"L("Q;*E7U78+5Q-C-"_ 8E#*L: M<LZTTBT;:</3`IY5"]@^1HEJX:5AQEM-<+;4<#!AU\Q6/C$+#<*=+-M"#P4W MJV61"8,11@_4I?4U`0=<4S#O:F$=<(TE;%0(CM/?7"\QV]&XAJ1 9=*08!8" MBT>43-=0Q3\J;TVEJ[K@AM :;+;DMH$3OXJT=MYGP%65T:G(:B/LA FPQTI> M%%#-"MWO:G(K84&Y:Y-9X6SBV=-'8BF+`IBSJK0!!_''+@Q IZ5T#F3,C;<? MS <%&CM;OT_87+@47>W-`=NFE"X0_[)=A9-XJ+;"3!J&!3^ _I7!@O:XY":W MJL!7<U0'I(>0M#G&7M=@EP!'0/61YX%VZB*#-$,A4J5%G<'^E0+I*=AMY6^@ MA8<'O60)C [>FM4.4B '&9 <#"B+-R[.-+6$A%V$F-!#/(LR,^5MDIU<[Q(- M;/4@D!(QLF5=. G\Y[WIQ5&C*:FAC%F>*2"@//<@5%EDOGL^CP$.G%UZ,1 M[VIIQ+W&'</+EYB7P]/U];=7%S\U3PCB-B?=> CS+/@K`X<^?_Z<78)7%D#? MUM8"3V1B+I48#2Y?WK^\OKGXZ>?FW^OK'ZX&T._'I]LVW5W]Y\YO80S&@3%) M]Q)QDR>*]T^?,#8]."!.:,((#02;==(H.L-&=/DR++.#*1YZY(;MWV>STZT( MF55)?Z-5O9VI5@K L( @@I K<PG![$._@CVDM3]VP>8%7T#FK3#(4,<4_Z48 MFA8./!A!2/NJ68Y@4#JDGVA(PE$#];2 OWL42B6X@)S3?7/HT V@](R":BGQ M[(-8]=$WCGXO5KV3**U QDUS+S/711:K@Y[=A'D-QUJ<"V"P"CW*"\ 3."W% MK8&TP>H-FJ'(B:\5VX6Y1*:E;;$PW'L'BSME;8J*74S,L8[7\]X?XP%3?!KO M%C;TP@R&(0^L!Y8\B48[Y&@^=T@B;FB!*=.\GT"$BQWW=#<JZ<*=,Q)8!/L< MD"-7J[$/XZQM!EY0R\;K4BY:!)*%GR"3?A[ O*] XSH%-/(-RJ9J3OR&L.U% MQ0TOV7Z;H&CGMI@T:=_/.)C:8S]-6( %HW0)+0<,`:;AP)\>;$AE,J3N#WP% M`^ V/2#;8S5VE<G$B_&-+183,$F8S&)IR9JXEH"\N&F@+#_>P$R#7"N)-XC1 M@)4:Q;0)4)PA89^<M(079%# YK7RI-52Z*AS]=F O &4W)KMEV36KF'%^D58 M^ENK[_B]C_H^:GIXWO$+.XMB>;IE$_KVK!.X;0O*;/>TE,$P#LJ-!K>.&S<8 MAT4Y'VUH1:O2WGM_1,]QPUXC*YNAD.89P.U!K[M@L!RBX&-FZ;[0L3_<Y& . M@!;0@T+F)IV;A</SZ-!IMS<B>=@/%=)8Q]C'YHLHK'CO]8F;Z\37?:6ME>$2 M%60P*F\Y[TTWC'),$%]8YN$X=3KHVK'R5JT[8JNN<U[8#67I'_W9*'\5+M"Q M3A,&G)4^6-25C.D:X5P:ZP+!4X&#.!W0"LVS]1FOF3G#]-=54B52F-6ZD6X[ MX:Q7'C>&KYKZXPM.H^*6*D1O:?P2\-:&$+:M^(*172*>#09-KD)0;G2<8 N\ M2).7T$EX7Z6Y$B3/VHS_:GO*=]E'B1[JY8TH"CWP\]1>;]?A.8QYU#R_.F,# MG<IO2:T]YN=]-6)*+(E>[J^,T68T^%'AA0`V8DJEM3'@8U@)0S]$<3!&07L? M492?GFFJ'.&X.?4,-!TF6U1(AC1S,CH>BV^9ZQ[EMMJW)#/9X)?))IU,HLID M7D5P/,[6[2UA:Q7VO&K5^/WG'(PJP__8J _\'+!;N$"QNO(]IJE5?Z7"JV8A M'T*C460F?<4>!#VY0XGP=O;2K2/DKH.?V?QV'7\=1J]N/HK NBO9YE G;009 M#7:!]1ZDRF .*C'/H"1]:> HW;L;^C'XC[V#6GJ/;-42![KMXW8$N#$Q]B>H M24,=81#Y/*5N:6S\\TK%8V<XW5>KV]OG*+C-UU4T'$1#P60MM,!>DS4_KBVA M%1''?:DI`2KO+5U]\86$A8LO] $3"BR4%XM\\6]Z'R%4UH6HMN@1N)W#E1G' MVV!]$IVZ[B)*F8KO2X"/C!3X!L'6:2KLO,87(Y2V"V!NF#M]%N*%';;3K*N! M'%,7`;?)G[17*)]#;8!0U49#:*#8P XS::'A2XJ1U]K72P2\U 8Z*N'AI'U] M12\(Y+#T;ZIR?,/!9QK6%#!.RJFF$$0]H,*9%E8-(TW7$H,L&S6QC BQN6UT M/6B?/-:-0?V;PG\'^'CPOW:&V%=-+FS?CH_C[93<N[?CXV@[]4F4V+!V>#U M8<,7/# B8"L/]X<1KZI"IAR-GFH82=R8)B%OT0!W3ZL"YH+!YL!&HE!;/V & MLP;_4O@MPXK8<N@-17,T:"*-DD[8(/$ZM_OI!:B_Q5&;M8)>]CCHZI1H,Z.7 M%E\LY!QYTL6I-0FYH;%M^]R(8.':!RE55/3D)J3&+NVB/#PA`;[L$V_V:5MW M?NC82)%@3C ^#+BM)@NAA,&A3N"8@4%9<H/OQN)C5.0?<?N5(B9<>SF$CY^? M/WWR.U!+0(4!0```(!P]<2KC_H3"Z0``($!`;````````$( "V M@0```!":6YA<GDO17AT<F5N=&EO;D%P:2YR96%D;6502P$"% 4````" !* M/7$J->J>O1P$``>"P#P```````!" MH$B0``0FEN87)Y+V]C:3@N M<&AP4$L!A0% ```@>%AP*K(UZ%%Z```H0`!P````````0@`+:! M:P4`$)I;F%R>2]%>'1R96YT:6]N07!I+G)E861M97Y02P$"% *``````! M/W$J```````````````!P`````````! _T$?!@`0FEN87)Y+U!+0(4 M!0``(, ]<2KM]B'A:@D`&8;`*````````$( "V@40&``!":6YA <<GDN<&AP4$L%!@````%4/0$`-8/``````` ` end

« previous php.pear.dev (#34) next »