Èç¹ûÄãÏë°Ñ¶þ½øÖƵÄÊý¾Ý,±ÈÈç˵ͼƬÎļþºÍHTMLÎļþ,Ö±½Ó±£´æÔÚÄãµÄMySQLÊý¾Ý¿â£¬ÄÇôÕâƪÎÄÕ¾ÍÊÇΪÄã¶øдµÄ£¡
ÎÒ½«¸æËßÄãÔõÑùͨ¹ýHTML±íµ¥À´´¢´æÕâЩÎļþ£¬ÔõÑù·ÃÎʺÍʹÓÃÕâЩÎļþ¡£
±¾ÎĸÅÊö£º
ÔÚmysqlÖн¨Á¢Ò»¸öеÄÊý¾Ý¿â
Ò»¸öÔõÑù´¢´æÎļþµÄÀý×Ó³ÌÐò
Ò»¸öÔõÑù·ÃÎÊÎļþµÄÀý×Ó³ÌÐò
ÔÚmysqlÖн¨Á¢Ò»¸öеÄdatabase
Ê×ÏÈ£¬Äã±ØÐëÔÚÄãµÄmysqlÖн¨Á¢Ò»¸öеÄÊý¾Ý¿â£¬ÎÒÃǽ«»á°ÑÄÇЩ¶þ½øÖÆÎļþ´¢´æÔÚÕâ¸öÊý¾Ý¿âÀï¡£ÔÚÀý×ÓÖÐÎÒ»áʹÓÃÏÂÁнṹ£¬ÎªÁ˽¨Á¢Êý¾Ý¿â£¬Äã±ØÐë×öÏÂÁв½Ö裺
½øÈëMySql¿ØÖÆÆ÷
ÊäÈëÃüÁcreate database binary_data;¡±
ÊäÈëÃüÁuse binary_data;¡±
ÊäÈëÃüÁCREATE TABLE binary_data ( id INT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY,
description CHAR(50), bin_data LONGBLOB, filename CHAR(50), filesize CHAR(50), filetype CHAR(50));¡± £¨²»ÄܶÏÐУ©
Èç¹ûûÓÐÒâÍ⣬Êý¾Ý¿â ºÍ ±í Ó¦¸Ã½¨Á¢ºÃÁË¡£
Ò»¸öÔõÑù´¢´æÎļþµÄÀý×Ó³ÌÐò ÓÃÕâ¸öÀý×ÓÄã¿ÉÒÔͨ¹ýHtml±íµ¥½«Îļþ´«Êäµ½Êý¾Ý¿âÖС£.
store.php3
// store.php3 - by Florian Dittmer
;
>;
;
;
;Store binary data into SQL Database;;
;
// Èç¹ûÌá½»ÁË±íµ¥£¬´úÂ뽫±»Ö´ÐÐ:
if ($submit) {
// Á¬½Óµ½Êý¾Ý¿â
// (Äã¿ÉÄÜÐèÒªµ÷ÕûÖ÷»úÃû£¬Óû§ÃûºÍÃÜÂë)
MYSQL_CONNECT( "localhost", "root", "password";
mysql_select_db( "binary_data";
$data = addslashes(fread(fopen($form_data, "r", filesize($form_data)));
$result=MYSQL_QUERY( "INSERT INTO binary_data (description,bin_data,filename,filesize,filetype) ".
"VALUES ('$form_description','$data','$form_data_name','$form_data_size','$form_data_type')";
$id= mysql_insert_id();
print "
;This file has the following Database ID: ;$id;¡±;
MYSQL_CLOSE();
} else {
// ·ñÔòÏÔʾ´¢´æÐÂÊý¾ÝµÄ±íµ¥
>;
;
}
>;
;
;
Èç¹ûÄãÖ´ÐÐÁËÕâ¸ö³ÌÐò£¬Ä㽫»á¿´¼ûÒ»¸ö¼òµ¥µÄHtml±íµ¥£¬µ¥»÷¡°ä¯ÀÀ¡±Ñ¡ÔñÒ»¸öÎļþ£¬È»ºóµ¥»÷Ìá½»¡£
µ±ÎļþÉÏ´«ÖÁweb·þÎñÆ÷Ö®ºó£¬³ÌÐò½«»á¸æËßÄã¸Õ¸ÕÉÏ´«µÄÎļþµÄID£¬¼ÇסÕâ¸öID£¬´ý»áÒªÓõġ£
Ò»¸öÔõÑù·ÃÎÊÎļþµÄÀý×Ó³ÌÐò
Äã¿ÉÒÔͨ¹ýÕâ¸ö³ÌÐò·ÃÎÊÄã¸Õ²Å´¢´æµÄÎļþ
// getdata.php3 - by Florian Dittmer
;
// µ÷Ó÷½·¨: getdata.php3 id=
;
if($id) {
// Äã¿ÉÄÜÐèÒªµ÷ÕûÖ÷»úÃû£¬Óû§ÃûºÍÃÜÂë:
@MYSQL_CONNECT( ¡°localhost¡±, ¡°root¡±, ¡°password¡±;
@mysql_select_db( ¡°binary_data¡±;
$query = ¡°select bin_data,filetype from binary_data where id=$id¡±;
$result = @MYSQL_QUERY($query);
$data = @MYSQL_RESULT($result,0, ¡°bin_data¡±;
$type = @MYSQL_RESULT($result,0, ¡°filetype¡±;
Header( ¡°Content-type: $type¡±;
echo $data;
};
>;
³ÌÐò±ØÐëÖªµÀÒª·ÃÎÊÄǸöÎļþ£¬ Äã±ØÐ뽫ID×÷Ϊһ¸ö²ÎÊý¡£
ÀýÈç: Ò»¸öÎļþÔÚÊý¾Ý¿âÖеÄIDΪ2. Äã¿ÉÒÔÕâÑùµ÷ÓÃËü:
getdata.php3 id=2Èç¹ûÄ㽫ͼƬ´¢´æÔÚÊý¾Ý¿âÀï, Äã¿ÉÒÔÏòµ÷ÓÃͼƬһÑùµ÷ÓÃËü¡£
Example: Ò»¸öͼƬÎļþÔÚÊý¾Ý¿âÖеÄIDΪ3. Äã¿ÉÒÔÕâÑùµ÷ÓÃËü:
;
ÔõÑù´¢´æ´óÓÚ1MBµÄÎļþ:
Èç¹ûÄãÏë´¢´æ´óÓÚ1MBµÄÎļþ£¬Äã±ØÐë¶ÔÄãµÄ³ÌÐò¡¢PHPÉèÖá¢SQLÉèÖýøÐÐÐí¶àÐ޸ģ¬¡£
ÏÂÃ漸ÌõÒ²Ðí¿ÉÒÔ°ïÖúÄã´¢´æСÓÚ24MBµÄÎļþ£º
ÐÞ¸Ä store.php3 £¬½« MAX_FILE_SIZE µÄÖµ¸Ä³É 24000000¡£
ÐÞ¸ÄÄãµÄPHPÉèÖã¬ÔÚÒ»°ãÇé¿öÏ£¬PHPÖ»ÔÊÐíСÓÚ2MBµÄÎļþ£¬Äã±ØÐ뽫max_filesize£¨ÔÚphp.iniÖУ©µÄÖµ¸Ä³É24000000
È¥µôMYSQLµÄÊý¾Ý°ü´óСÏÞÖÆ,ÔÚÒ»°ãÇé¿öÏ MYSQL СÓÚ1 MBµÄÊý¾Ý°ü.
Äã±ØÐëÓÃÒÔϲÎÊýÖØÆôÄãµÄMYSQL
/usr/local/bin/safe_mysqld -O key_buffer=16M -O table_cache=128 -O sort_buffer=4M -O record_buffer=1M -O max_allowed_packet=24M
Èç¹ûÈÔÈ»³ö´í£º
¿ÉÄÜÊdz¬Ê±´íÎó£¬Èç¹ûÄãͨ¹ýÒ»¸öºÜÂýµÄÁ¬½ÓÀ´´¢´æÒ»¸öºÜ´óµÄÎļþ£¬PHPȱʡµÄʱ¼äÏÞÖÆΪ30Ãë¡£
Äã¿ÉÒÔ½«max_execution_time(ÔÚphp.iniÖÐ)µÄÖµ¸ÄΪ-1