ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[±Ð¾Ç] ¸ê®Æ®w¹Ï¤ù¦s¨ú

[±Ð¾Ç] ¸ê®Æ®w¹Ï¤ù¦s¨ú

¤£ª¾¹D¬°¤°»ò¡A¤j®a¦ü¥G¹ï©ó¦p¦ó±N¦p¤ùÀɮ׶ë¨ì¸ê®Æ®w«Ü·P¿³½ì¡I¦]¬°¤@¥¹±N¹Ï¤ùÀÉ©ñ¤J¸ê®Æ®w«á¡A¤£¶È¸ê®Æ®wªº­t¾áÅܪº«Ü­«¡A¦Ó¥B¡A­Y­n¹ï¹Ï¤ùÀÉ¥[¥H½s­×¬O«Ü§xÃøªº¡C

¬JµM¤j®a·Qª¾¹D¡A¤p»x´N¤¶²Ð¦p¦ó±N¹Ï¤ùÀɦs¤J¸ê®Æ®w§a¡I

¥»½d¨Ò±N¹Ï¤ùÀɸê®Æ«Ø¥ß©óSQL¸ê®Æ®w¤¤¡A³o­Ó¡u¹Ï¤ù¡v¸ê®Æ®w§Ú­Ì©w¦W¬°¡upic¡v¡A¦Ó¦b¸ê®Æ®w¤¤¥Î¨Ó¹Ï¤ùÀɮ׸ê®Æªº¸ê®Æªí«h©w¦W¬°¡umyimage¡v¡C

¦b¡umyimage¡v¸ê®Æªí¤¤¡A§Ú­Ì«Ø¥ß¤F¤­­ÓÄæ¦ì¡Gidno¡Bfilename¡Bfilesize¡Bfiletype¡Bfilepic¡A¨äÄæ¦ì³]©w»¡©ú¦p¤U¡G

Äæ¦ì¦WºÙ¸ê®Æ«¬ºA¸ê®Æªø«×¤¹³\Null»¡©ú
idnoint4§_¸ê®Æ§Ç¸¹(¦Û°Ê»¼¼W)
filenamevarchar50¬OÀɮצWºÙ
filesizeint4¬OÀɮפj¤p
filetypevarchar50¬OÀÉ®×Ãþ«¬
filepictext16¬OÀɮפº®e


CH13_6.png
©ñ¸m¹Ï¤ùÀɮפº®eªºÄæ¦ì¡ufilepic¡v¡A¨ä¸ê®Æ«¬§O¥i¥H¬OImage©ÎText¡A¨âªÌ¬Ò¥i©ñ¸m¤j«¬ªº¤G¶i¨î¸ê®ÆÀÉ¡A¦b¥»¨Ò¤¤¡A¤p»x¿ï¾Ü¨Ï¥ÎText¸ê®Æ«¬§O¡C

¥H¤U¬O¤W¶Ç¹Ï¤ùÀɮתººô­¶¤º®e¡A¤p»xÀ³¸Ó¤£¥Î¦h°µ¸ÑÄÀ¤F§a¡I
upload_pic.php
  1. <HTML>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=big5">
  4. <title>¹Ï¤ùÀɮפW¶Ç</title>
  5. </head>
  6. <BODY>
  7. <H3>¹Ï¤ùÀɮפW¶Ç:(¦s¤J¸ê®Æ®w)<HR></H3>

  8. <Form Action="mygetfile_pic.php" Method="POST"
  9. Enctype="multipart/form-data">
  10. <Input Type="File" Name="upfile" ><br>
  11. <Input Type="Submit" value=" ¶}©l¤W¶Ç ">
  12. </Form>

  13. </BODY></HTML>
½Æ»s¥N½X
¤ß¦w¡A¥­¦w   
µoªí¥ô¦óµL·N¸qªº·PÁ©ÎÄé¤ô¤å³¹¤@«ß¬å,¬Ã±¤±b¸¹,½Ð¸Ô¾\ª©³W!!

·PÁ¤À¨É¡Aµ¹¤F§Ú«Ü¤jªºÀ°§U

¦ý¬O¦pªG¬O­n±N¤w¸g¤W¶Ç¨ì¸ê®Æ®w¤¤ªº¹Ï¤ù§R°£ªº¸Ü
­n¦p¦ó°µ©O?
§Ú¬O·s¤â¤£¦n·N«ä@@

TOP

½Ð°Ý±z~
¦pªG­nÂI¤@¦¸ÂsÄý´N¿ï¾Ü«Ü¦h±i¹Ï¤ù¦A¤W¶Ç¨ìmysql
¦Ó¤£¬O¹³¨ººØ«Ü¦h­ÓÂsÄý¡A­n¤@¦¸¿ï¤@±i¡A¿ï«Ü¦h¦¸¦A¶Çªº¨ººØ
³o¼Ë­n«ç»ò°µ©O?«ô°UÀ°¦£¤@¤U!!!!!

TOP

¦^´_ 3# ¤p»x
¦^´_ 4# jacky790325
®Ú¾Úµ{¦¡ªº°õ¦æ¶¶§ÇÀ³¸Ó¬O¡G
Upload_Pic.php  ->  mygetfile_pic.php  -> show.php  (¥i¯à§ï¦WºÙ¤F > ShowPic.php)

TOP

¤j³¡¤À¬Ý±oÀ´ª©¥Dªº¸Ü....¦ý¬O¦b2¼Óªº ³B²z¤W¶Çªº¹Ï¤ùÀÉ®× ¤¤...3­Ó¨BÆJ¬O¼g¦b«e¤@­Óphp¸Ì­±¶Ü?
§Ú·Pı©Ç©Çªº...¤£²M·¡­n¥t¥~include¨ì¥t¤@­ÓÀɬO¤£¬O...
debug¤¤
³oÁ٥λ¡¶Ü

TOP

ÂsÄý¸ê®Æ®wªº¹Ï¤ùÀɮסG

­nÅã¥Ü¹Ï¤ù²Ä¤@­«­nªº¬O³]©wºô­¶ªºMIMEÃþ«¬¡A¤]´N¬Oºô­¶Åã¥Üªº¸ê®Æ®æ¦¡¬°¦ó¡A¦p§Ú­Ì¤W¶Çªº¹Ï¤ùÀɮ׬°*.gif¡A«h§Ú­Ì­n³]©wºô­¶¸ê®Æªº®æ¦¡Ãþ«¬¬°¡uimage/gif¡v¡A­n¦p¦ó³]©wºô­¶¸ê®Æªº®æ¦¡Ãþ«¬¡H¨Ï¥Îheader()´N¦æ¤F¡G
  1. //³]©wºô­¶¸ê®Æ®æ¦¡
  2. header("Content-Type: ®æ¦¡Ãþ«¬");
½Æ»s¥N½X
¥i¬O¡A§Ú­Ì«çª¾¹D­nÅã¥Ü¥X¨Óªº¹Ï¤ù¸ê®Æ¬O­þ¤@ºØ¸ê®ÆÃþ«¬¡H§O¾á¤ß¡I§Ú­Ì¦b±N¹Ï¤ùÀɮצs¤J¸ê®Æ®w®É¤£¬O¦³¤@­ÓÄæ¦ì¡ufiletype¡v¡A¨ä¤º®e¤£¬O´N¬O¤W¶ÇÀɮתº¸ê®ÆÃþ«¬¡]$_FILES["upfile"]["type"]¡^¶Ü¡Hª½±µ®³¨Ó¥Î´N¬O¤F¡I

²Ä¤G­Ó­nª`·Nªº¬O¡G·í§Ú­Ì±N¹Ï¤ùÀɮפº®e¦s¤J¸ê®Æ®w®É¡A¨Ï¥Îbase64_encode()¨ç¼Æ¥[¥H½s½X¡A¦]¦¹¡A¦b¨ú¥X¹Ï¤ùÀɸê®Æ«á¡AÅã¥Ü¹Ï¤ùÀɤ§«e¡A­n¥ý¥Îbase64_decode()¨ç¼Æ±N¸ê®ÆÁÙ­ì¡I

showpic.php
  1. <?
  2. $dbnum=mssql_connect("127.0.0.1","sa","12345");
  3. //¿ï¨ú¸ê®Æ®w
  4. mssql_select_db("pic");
  5. //²Õ¦X¬d¸ß¦r¦ê
  6. $SQLSTR="select filepic,filetype from myimage where filename='"
  7.          . $_REQUEST["filename"] . "'";
  8. //
  9. $cur=mssql_query($SQLSTR);
  10. //¨ú¥X¸ê®Æ
  11. $data=mssql_fetch_array( $cur );

  12. //³]©wºô­¶¸ê®Æ®æ¦¡
  13. header("Content-Type: $data[1]");
  14. // ¿é¥X¹Ï¤ù¸ê®Æ
  15. echo base64_decode($data[0]);
  16. ?>
½Æ»s¥N½X



§¹¾ã ¸ê®Æ®w¹Ï¤ù¦s¨ú½d¨ÒÀ£ÁYÀɤU¸ü: database_pic.rar (562.23 KB)
¤ß¦w¡A¥­¦w   
µoªí¥ô¦óµL·N¸qªº·PÁ©ÎÄé¤ô¤å³¹¤@«ß¬å,¬Ã±¤±b¸¹,½Ð¸Ô¾\ª©³W!!

TOP

³B²z¤W¶Çªº¹Ï¤ùÀɮסG

¤W¶ÇÀɮתº°ò¦³B²z¤j®a¬Ý²M·¡¤F¡A²Ä¤@­Ó­«ÂI¬O¦p¦óŪ¨ú¹Ï¤ùÀɮפºªº¸ê®Æ¡A­nŪ¨ú¹Ï¤ùÀɮ׸ê®Æ¡A­º¥ýªº¨Ï¥ÎÀɮ׳B²z¨ç¼Æ¸s¡Gfopen()¡Bfread()¡Bfilesize()¡Bfclose()µ¥¨ç¼Æ¡G
  1. //¶}±Ò¹Ï¤ùÀÉ
  2. $file = fopen($_FILES["upfile"]["tmp_name"], "rb");
  3. // Ū¤J¹Ï¤ùÀɸê®Æ
  4. $fileContents = fread($file, filesize($_FILES["upfile"]["tmp_name"]));
  5. //Ãö³¬¹Ï¤ùÀÉ
  6. fclose($file);
½Æ»s¥N½X
²Ä¤G­Ó­«ÂI¬O¡GŪ¨ú¥X¨Óªº¹Ï¤ù¸ê®Æ¥²¶·¨Ï¥Îbase64_encode()¨ç¼Æ¥[¥H½s½X¡G
  1. // ¹Ï¤ùÀɮ׸ê®Æ½s½X
  2.   $fileContents = base64_encode($fileContents);
½Æ»s¥N½X
½s½Xªº¥Øªº¦b½T«O¹Ï¤ù¸ê®Æªº¥¿½T©Ê¡C

¨º¦p¦ó±N¤W¶ÇÀɮתº¸ê°T¼g¤J¸ê®Æ®w¡H¤£»Ý¯S§O³B²z¡A¨Ì·Ó§Ú­Ì¤§«e¾Ç¹Lªº¡A§Q¥ÎInsert Into©R¥O¼g¤J§Y¥i¡G
  1. //³sµ²SQL Server
  2. $dbnum=mssql_connect("127.0.0.1","sa","12345");
  3. //¿ï¨ú¸ê®Æ®w
  4. mssql_select_db("pic");
  5. //²Õ¦X¬d¸ß¦r¦ê
  6.         $SQLSTR="Insert into myimage (filename,filesize,filetype,filepic) values('"
  7.                   . $_FILES["upfile"]["name"] . "',"
  8.                   . $_FILES["upfile"]["size"] . ",'"
  9.                   . $_FILES["upfile"]["type"] . "','"
  10.                   . $fileContents . "')";
½Æ»s¥N½X
§O§Ñ¤FÁÙ­nÀˬd¤@¤U¤W¶Çªº¹Ï¤ùÀɮפj¤p¬O§_¬°0¡A¤£µM¥i¬O·|µo¥Í¿ù»~³á¡I
mygetfile_pic.php
  1. <HTML>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=big5">
  4. <title>¹Ï¤ùÀɮפW¶Ç</title>
  5. </head><BODY><H3>¹ÏÀɦs¤J¬ÛÃö¸ê°T¡G<HR></H3>

  6. <?
  7.       echo "<BLOCKQUOTE>";
  8.       echo "ÀɮצWºÙ¡G" . $_FILES["upfile"]["name"] . "<BR>";
  9.       echo "Àɮפj¤p¡G" . $_FILES["upfile"]["size"] . "<BR>";
  10.       echo "ÀÉ®×Ãþ«¬¡G" . $_FILES["upfile"]["type"] . "<BR>";
  11.       echo "¼È¦sÀɦW¡G" . $_FILES["upfile"]["tmp_name"] . "<BR>";
  12.       if ( $_FILES["upfile"]["size"] > 0 )
  13.         {
  14.          //¶}±Ò¹Ï¤ùÀÉ
  15.          $file = fopen($_FILES["upfile"]["tmp_name"], "rb");
  16.          // Ū¤J¹Ï¤ùÀɸê®Æ
  17.          $fileContents = fread($file, filesize($_FILES["upfile"]["tmp_name"]));
  18.          //Ãö³¬¹Ï¤ùÀÉ
  19.          fclose($file);

  20.          // ¹Ï¤ùÀɮ׸ê®Æ½s½X
  21.          $fileContents = base64_encode($fileContents);

  22.          //³sµ²SQL Server
  23.          $dbnum=mssql_connect("127.0.0.1","sa","12345");
  24.          //¿ï¨ú¸ê®Æ®w
  25.          mssql_select_db("pic");
  26.          //²Õ¦X¬d¸ß¦r¦ê
  27.          $SQLSTR="Insert into myimage (filename,filesize,filetype,filepic) values('"
  28.                   . $_FILES["upfile"]["name"] . "',"
  29.                   . $_FILES["upfile"]["size"] . ",'"
  30.                   . $_FILES["upfile"]["type"] . "','"
  31.                   . $fileContents . "')";
  32.          //±N¹Ï¤ùÀɮ׸ê®Æ¼g¤J¸ê®Æ®w
  33.          if(!mssql_query($SQLSTR)==0)
  34.            {
  35.             echo "±z©Ò¤W¶ÇªºÀɮפwÀx¦s¶i¤J¸ê®Æ®w<a href=\"showpic.php?filename="
  36.                  . $_FILES["upfile"]["name"] . "\">"
  37.                  . $_FILES["upfile"]["name"] . "</a>";
  38.            }
  39.          else
  40.            {
  41.             echo "±z©Ò¤W¶ÇªºÀÉ®×µLªkÀx¦s¶i¤J¸ê®Æ®w";
  42.            }
  43.         }
  44.       else
  45.         {
  46.          echo "¹Ï¤ù¤W¶Ç¥¢±Ñ";
  47.         }
  48.       echo "</BLOCKQUOTE>";
  49. ?>

  50. <HR></BODY></HTML>
½Æ»s¥N½X
¬°¤F¯àÅý¨Ï¥ÎªÌ¯à¬Ý¨ì¦Û¤v¤W¶Çªº¹Ï¤ùÀÉ¡A§Ú­ÌÁÙ¥[¤F¤@­Ó¶W³sµ²³sµ²¨ì¹Ï¤ùÅã¥Üºô­¶¥h¡Aµ{¦¡½X38~40¦æ¡A¶WÃìµ²ªº¡ufilename¡v°Ñ¼Æ´N¬O¥Î¨Ó´£¨ú¹Ï¤ùªº¨Ì¾Ú¡C

¤ß¦w¡A¥­¦w   
µoªí¥ô¦óµL·N¸qªº·PÁ©ÎÄé¤ô¤å³¹¤@«ß¬å,¬Ã±¤±b¸¹,½Ð¸Ô¾\ª©³W!!

TOP

        ÀR«ä¦Û¦b : µoµÊ®ð¬Oµu¼ÈªºµoºÆ¡C
ªð¦^¦Cªí ¤W¤@¥DÃD