 |
ใครเคย upload รูปภาพ ลง database mssql (SQL Server Images BLOB) แล้ว ดึงมาแสดง บ้างครับ |
|
 |
|
|
 |
 |
|
รบกวนด้วยครับ
|
ประวัติการแก้ไข 2011-05-07 20:26:05 2011-05-07 20:26:09 2011-05-07 20:26:13 2011-05-07 20:27:05 2011-05-07 21:59:15
 |
 |
 |
 |
Date :
2011-05-07 20:24:37 |
By :
tingtongkub |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอถามว่าทำไมคุณถึงต้องเอาภาพยัดเข้าไปใน DB ครับ ?
ทำไมไม่ upload ตัวไฟล์ไปอยู่บน server แล้วทำการเก็บ path ของรูปหรืออะไรก็ได้ที่จะทำการเรียกไฟล์ภาพนั้นขึ้นมาครับ ?
|
 |
 |
 |
 |
Date :
2011-05-07 22:21:21 |
By :
oxygenyoyo |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ไม่เคยลองครับ แต่เขาบอกว่าบวมๆก็เลยกลัวๆ
|
 |
 |
 |
 |
Date :
2011-05-07 23:03:41 |
By :
Dragons_first |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คือตอนนี้ผมรับงานมา ซึ่ง ระบบที่เขาออกแบบมาเขาเก็บไว้ใน DB ครับ
ซึ่งจะเป็น พวก VB แลัวเขาให้ผมทำ ระบบสำหรับรายงานผ่านเว็บ
ผมเลยต้อง หาวิธีที่จะดึงข้อมูล จาก mssql มาแสดงครับ เพราะว่าตอนนี้ ตัวอย่างที่เขาไห้มาไม่มี รูปใน DB
เลยต้องลองเขียนโค้ดอับโหดเองก่อน แล้ว จะลองดูว่า ดีงมาแสดงได้หรือไม่ครับ
รบกวนด้วยครับ ตอนนี้ยังหาวิธีไม่เจอครับ
|
 |
 |
 |
 |
Date :
2011-05-08 09:34:24 |
By :
tingtongkub |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
read ไฟล์ tmp มาเก็บไว้ในตัวแปร แล้ว insert ปกติครับ
|
 |
 |
 |
 |
Date :
2011-05-08 11:29:18 |
By :
PlaKriM |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
มีตัวอย่งโค้ด upload แล้วก็ แสดงใหม่ครับ ที่เจอส่วนใหญ่เป็น Mysql ทั้งนั้นเลยครับ
|
 |
 |
 |
 |
Date :
2011-05-08 11:48:17 |
By :
tingtongkub |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
มันไม่ต่างกันหรอกครับ แค่คุณต้อง escape string มันหน่อย เอาของ mysql มาปรับใช้ได้เลย
|
 |
 |
 |
 |
Date :
2011-05-08 11:54:25 |
By :
PlaKriM |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
รบกวนช่วยดูหน่อยครับ
มัน error
ว่า
Fatal error: Call to undefined function mssql_escape_string() in D:\AppServ\www\pp\insert_img.php on line 18
Code (PHP)
<?
if(isset($_FILES["userfile"]["size"]) && $_FILES["userfile"]["size"] != 0){
$fp = fopen($_FILES["userfile"]["tmp_name"], "rb");
$file_name = $_FILES["userfile"]["name"];
$file_type = $_FILES["userfile"]["type"];
$data = "";
if(!get_magic_quotes_gpc()){
$data = addslashes(fread($fp,filesize($_FILES["userfile"]["tmp_name"])));
}else{
$data = fread($fp,filesize($_FILES["userfile"]["tmp_name"]));
}
fclose($fp);
unlink($_FILES["userfile"]["tmp_name"]);
$link = @mssql_connect("TONG-NC\SQLEXPRESS","sa","");
@mssql_select_db("my_datal", $link);
$escaped_item = mssql_escape_string($data);
$res = @mssql_query("INSERT INTO images(name,data,type) VALUES('".$file_name."','".$escaped_item."','".$file_type."')", $link);
@mssql_close($link);
}
?>
|
 |
 |
 |
 |
Date :
2011-05-08 13:26:32 |
By :
tingtongkub |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ยังไม่ได้เลยครับ รบกวนด้วยครับ
|
 |
 |
 |
 |
Date :
2011-05-09 08:30:14 |
By :
tingtongkub |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตอนนี้ยังไม่ได้เลยครับ ลองทำตามตัวอย่างหมดแล้วครับ แถม มันยังไม่ลงฐานข้อมูลเลยครับ
Code (PHP)
<?
if($_FILES["filUpload"]["name"] != "")
{
//*** Read file BINARY ***'
$fp = fopen($_FILES["filUpload"]["tmp_name"],"r");
$ReadBinary = fread($fp,filesize($_FILES["filUpload"]["tmp_name"]));
fclose($fp);
$FileData = addslashes($ReadBinary);
//*** Insert Record ***//
$objConnect = mssql_connect("TONG-NC\SQLEXPRESS","sa","") or die("Error Connect to Database");
$objDB = mssql_select_db("mis_data");
$strSQL = "INSERT INTO files ";
$strSQL .="(Name,FilesName) VALUES ('".$_POST["txtName"]."','".$FileData."')";
$objQuery = mssql_query($strSQL);
echo "Copy/Upload Complete<br>";
}
?>
<a href="PageUploadToMySQL3.php">View files</a>
ผมไม่ทราบว่าที่ต้องใส่ escape string ตรงใหนครับ
error ตามนี้เลยครับ
Warning: mssql_query() [function.mssql-query]: message: Incorrect syntax near '?'. (severity 15) in D:\AppServ\www\pp\PageUploadToMySQL2.php on line 21
Warning: mssql_query() [function.mssql-query]: message: The identifier that starts with ';xß¿²Èz;£+Œ’:CšY$.vwI\'Õª–šö\'Tˆ±–±íSá^Åoæ è@!±D,\0·¢”‚¢ÃÁ:`’€8ŸªáÄýT³„SHå<÷{”ƒ8PÄ/Ðͪn±8£*Åö€¹ö›*ð®õ^5–æ›9Rü–' is too long. Maximum length is 128. (severity 15) in D:\AppServ\www\pp\PageUploadToMySQL2.php on line 21
Warning: mssql_query() [function.mssql-query]: message: The identifier that starts with '5£ÃòO’vÿ\0ÉŠóˆ»4³»™{Ý‚æºM1ü,læò}—™t½ù±ßécGÏÕ|oÓÚ³>9ŒHMÄsEDß’µÎýnN=†ÑŠž–ô~2 lU/ÄI¾Ï¤c¿<mPIÖVb²^áø¥m •Íoò«oìäÒ:G<ã_²á2' is too long. Maximum length is 128. (severity 15) in D:\AppServ\www\pp\PageUploadToMySQL2.php on line 21
Warning: mssql_query() [function.mssql-query]: message: The identifier that starts with 'j½Ž?÷õ oêG°+?«¼‚ü¯1ö¶¼“–93Un¶\\Õ!º;>‰ŒRsÖÞ¨°×ÇÖ2&–d9XÂö‡¸ýç)´ª’6Ú§ìþ>ˆ€M*Ï…ô¾`×;ìð1Ùr¸ž°¸}Í›öi\07¨ª©šÛ¶0Øù›w#5„ðXU8' is too long. Maximum length is 128. (severity 15) in D:\AppServ\www\pp\PageUploadToMySQL2.php on line 21
Warning: mssql_query() [function.mssql-query]: message: The identifier that starts with 'TK›Ùlãvüíoh(šŠ=_¬!Ñœ’2FZF?¼×·v ? ±¼7wßuWmKI±ÑJ¿¢²ÆÜñ»8ô>ZØúB)Zö‡0‡0ê×C—žyb3ÓÕêÛ4N͑dz÷J¼axŒuì¸píÆîÛJ8 ®>Jw3^ Á F-C²u^' is too long. Maximum length is 128. (severity 15) in D:\AppServ\www\pp\PageUploadToMySQL2.php on line 21
Warning: mssql_query() [function.mssql-query]: message: The identifier that starts with '(!1?‚áo1²yö~EñeÔì’ x)¹rAG1_Qºá§#}HðIO0M W„|Êta¶¦À{Þ é=- w[#{ÖçÝNÖ\0ƒSW ;3Êàyþ_ÉJ² Î6\0f$颢ôëÚtù©èìùm•ÒîÈÿ\0ÜåÒž”ËYÂç' is too long. Maximum length is 128. (severity 15) in D:\AppServ\www\pp\PageUploadToMySQL2.php on line 21
Warning: mssql_query() [function.mssql-query]: message: An object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Add a name or single space as the alias name. (severity 15) in D:\AppServ\www\pp\PageUploadToMySQL2.php on line 21
Warning: mssql_query() [function.mssql-query]: message: The identifier that starts with '”Z¬¶\0[`~œê>?ÔÕbœø øü·\0Ъu\\Qíö…®Ž’ hæÓŸñ5g™r›kÅoº¯´.\'–JFêH|Ò\0{9¿*Îz>rÔDI°ë2ŸªÊ•Ö¨¿xú.“”ºr$+À7ÿ\0TVõH€\\ÜlvF' is too long. Maximum length is 128. (severity 15) in D:\AppServ\www\pp\PageUploadToMySQL2.php on line 21
Warning: mssql_query() [function.mssql-query]: message: The identifier that starts with '}ŒMš®®ü¾Ï{}å°Ÿô öüÕU¦ä’i÷ù¥[t‚Ú^ç™ HüÓä½\'£§6÷ÿ\0ää’åë/ú%åñU–åÂT°ÛØ¢Çõ(œ‚ é¾)m ¡¶Ý,2ÿ\00‰\\cn»–Éa¾ ¶N ‡oÓûMŽ' is too long. Maximum length is 128. (severity 15) in D:\AppServ\www\pp\PageUploadToMySQL2.php on line 21
Warning: mssql_query() [function.mssql-query]: message: The identifier that starts with 'NÞ ¢Q£ñ*µí-Ö£mô½K,~ r³Æ>¾Šíf\\´°³T½¤´‰L V^$@§‚¡õŽÑÖpôJÍ{\\ê|@©&à;.ú÷›Äœ‡zoÄ\0Fʸ0ôêw|ºÛoŠ —Ðß[%Úî|·Å.šó8G o–Kåk#k' is too long. Maximum length is 128. (severity 15) in D:\AppServ\www\pp\PageUploadToMySQL2.php on line 21
Warning: mssql_query() [function.mssql-query]: message: The identifier that starts with '™ò»w=;‘àêt°ÓÁfI1‡%ËVW>c®ƒ’cÒ|PÃÓ’OW”_ÜXe5CžW_4¯¨s¾ìËRö¢óýSc`XÛŸ¾Õ–À@†Ú*—½×¦¦Tí,ž~7k|·>öJëmÏDòškð›|Tl‚úßè‰Ný@ð梽Mì¸N¥' is too long. Maximum length is 128. (severity 15) in D:\AppServ\www\pp\PageUploadToMySQL2.php on line 21
Warning: mssql_query() [function.mssql-query]: message: The identifier that starts with '»\'Ù¦`-s¡Ù0¨i¶v܃Úoõ&Ë_ „3LŽø÷SœÂ7 kmñZB`çXè·„ŒÎÝBù¤4¹ñê`EÀd¯×ÒYV‘rŠc¸qÀqßRÂ~̬Q›¥ô¶Úªr¼Ù–à>K*²*§¸í8ùƒdRË' is too long. Maximum length is 128. (severity 15) in D:\AppServ\www\pp\PageUploadToMySQL2.php on line 21
Warning: mssql_query() [function.mssql-query]: message: The identifier that starts with ',SÆþ‡ÿ\0‘÷JüÒÂñæðÅQx¦Ï÷rœ½¦¿fÝi~Ìý¢Wô~W>‘í’šCÿ\0A;ÜiæÜR3+¿áæ÷Û¿5Ó×R²¹¢zss¥Ç?Ýr”“º‘ÝLÂÆ‹é?Ú2kPÀ<kbm¾ë–+#阮[þU?Óßk˜~=KOOj)' is too long. Maximum length is 128. (severity 15) in D:\AppServ\www\pp\PageUploadToMySQL2.php on line 21
Warning: mssql_query() [function.mssql-query]: message: Unclosed quotation mark after the character string ')'. (severity 15) in D:\AppServ\www\pp\PageUploadToMySQL2.php on line 21
Warning: mssql_query() [function.mssql-query]: Query failed in D:\AppServ\www\pp\PageUploadToMySQL2.php on line 21
Copy/Upload Complete
View files
|
ประวัติการแก้ไข 2011-05-09 11:38:04
 |
 |
 |
 |
Date :
2011-05-09 11:36:28 |
By :
tingtongkub |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
กำหนด Type ของ Column เป็นอะไรครับ
|
 |
 |
 |
 |
Date :
2011-05-09 11:40:06 |
By :
webmaster |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองดู type ของ sql server มันมีเป็นแบบ image ครับ
|
 |
 |
 |
 |
Date :
2011-05-09 11:40:53 |
By :
webmaster |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เซท เป็น image แล้ว ครับ
ตอนนี้ยังไม่ได้เลยครับ ติดหน้า ที่ 2 ครับ
|
ประวัติการแก้ไข 2011-05-09 11:54:55
 |
 |
 |
 |
Date :
2011-05-09 11:49:01 |
By :
tingtongkub |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองใส่ base64_encode() แล้วลองดูครับ
ถ้าจำไม่ผิดที่เคยลอง ผมก็ใช้แบบนี้ แต่งานจริงๆ ผมไม่เคยเก็บภาพไว้ใน DB
Code (PHP)
<?php
if($_FILES["filUpload"]["name"] != "")
{
//*** Read file BINARY ***'
$fp = fopen($_FILES["filUpload"]["tmp_name"],"r");
$ReadBinary = base64_encode(fread($fp,filesize($_FILES["filUpload"]["tmp_name"])));
fclose($fp);
$FileData = addslashes($ReadBinary);
//*** Insert Record ***//
$objConnect = mssql_connect("TONG-NC\SQLEXPRESS","sa","") or die("Error Connect to Database");
$objDB = mssql_select_db("mis_data");
$strSQL = "INSERT INTO files ";
$strSQL .="(Name,FilesName) VALUES ('".$_POST["txtName"]."','".$FileData."')";
$objQuery = mssql_query($strSQL);
echo "Copy/Upload Complete<br>";
}
?>
<a href="PageUploadToMySQL3.php">View files</a>
|
 |
 |
 |
 |
Date :
2011-05-09 13:29:47 |
By :
naskw |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลอง ก็อป ไปวางแล้วขึ้นแบบนี้ครับ
Warning: mssql_query() [function.mssql-query]: message: Operand type clash: text is incompatible with image (severity 16) in D:\AppServ\www\pp\PageUploadToMySQL2.php on line 16
Warning: mssql_query() [function.mssql-query]: Query failed in D:\AppServ\www\pp\PageUploadToMySQL2.php on line 16
Copy/Upload Complete
View files
ไม่ทราบว่า มันคืออะไรครับ
|
 |
 |
 |
 |
Date :
2011-05-09 13:42:31 |
By :
tingtongkub |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
น่าจะเป็นที่ datatype image ใน mssql อะครับ ผมไม่รู้ว่ามันต้องใช้เก็บข้อมูลแบบไหน เป็น byte หรือว่าเป็นไร
ไม่รู้ว่า fread ขึ้นมาแล้วใส่ลงไปเลยได้หรือเปล่า หรือว่าต้องผ่านฟังก์ชั่นอื่นๆ หรือไม่
คุณลองเปลี่ยนเป็นพวก Bob หรืออะไรที่มันคล้าย BOB ใน mysql ได้หรือเปล่า
base64_encode มันจะรีเทิร์นออกมาเป็นสตริง ถ้าเป็น BOB ใน mysql ได้ครับ
|
 |
 |
 |
 |
Date :
2011-05-09 14:05:05 |
By :
naskw |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คือ database ผมไปแตะไม่ได้ครับ เจ้าของระบบเขาไห้ผมเขียน web ไว้ แสดงรายงาน ของเขาเฉยๆ ตอนแรกแนะนำเขาไห้เก็บไปไว้ใน folder แล้วเก็บ พาท แทน เขาว่ามันยุ่งยาก ก็เลยต้องหาวิธี ที่จะดึงภาพครับ
ที่หลักๆ คือ จะลองแค่เอ่รูปมาแสดงเฉยๆครับ แต่ตอนนี้ ใน db ไม่มีข้อมูลรูป เลยต้องหาวิธีอับก่อนครับ จะได้ เอารูปมาแสดงให้ได้
แต่ ตอนนี้จนปัญญาครับ
|
 |
 |
 |
 |
Date :
2011-05-09 14:21:11 |
By :
tingtongkub |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แล้วฟิวด์ที่ระบบเค้าใช้เก็บข้อมูลอยู่ตอนนี้เค้าใช้ datatype เป็นอะไรครับ จะได้แนะนำถูก
PM มาละกันเพราะผมไม่ได้เข้ามาดูบอร์ดตลอดเวลา
|
ประวัติการแก้ไข 2011-05-09 15:18:37
 |
 |
 |
 |
Date :
2011-05-09 15:14:43 |
By :
naskw |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เป็น datatype เป็น image ครับ
ปกติเขาใช้ vb.net พัฒนาครับ
|
 |
 |
 |
 |
Date :
2011-05-09 22:55:06 |
By :
tingtongkub |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถึงตอนนี้็ก็ยัง upload ไม่ได้ครับ
|
 |
 |
 |
 |
Date :
2011-05-10 19:39:50 |
By :
tingtongkub |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมว่าให้เค้าอัพ(คนที่เขียนVB)ให้ดีว่ามะ เค้าคงจะเขียนโค้ดไว้แล้ว จะได้ไม่เสียเวลาไปมากกว่านี้ เพราะงานของคุณแค่ดึงข้อมูลไม่ใช่หรอครับ ไม่ได้เกี่ยวกับอัพโหลด แต่ช่วงที่รอก็ศึกษาโค้ดการดึง Image จาก Mssql ในเน็ตไปพลางก่อน 
|
 |
 |
 |
 |
Date :
2011-05-11 09:39:06 |
By :
naskw |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองทำแล้วครับ ยากนิดหนึ่งครับ ยังไม่เสร็จ แต่เอา code มาให้ดูเป็นตัวอย่างหน่อยครับ
สำหรับ Type ให้เลือกเป็น varBinary(MAX)
เรียกใช้ function OPENROWSET ของ SQL Server ในการ Insert Binary Data
Syntax
INSERT INTO files
(Name, FilesName)
SELECT 'win',
BulkColumn FROM OPENROWSET(
Bulk 'D:\AppServ\www\myphp\win.jpg', SINGLE_BLOB) AS BLOB
แปลงเป็น php ก็จะได้
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com Tutorial</title>
</head>
<body>
<?
if($_FILES["filUpload"]["name"] != "")
{
//*** Insert Record ***//
$objConnect = mssql_connect("localhost","sa","") or die("Error Connect to Database");
$objDB = mssql_select_db("mydatabase");
$strSQL = "INSERT INTO files ";
$strSQL .=" ( Name, FilesName) ";
$strSQL .=" SELECT '".$_POST["txtName"]."', ";
$strSQL .=" BulkColumn FROM OPENROWSET( ";
$strSQL .=" Bulk '".$_FILES["filUpload"]["tmp_name"]."', SINGLE_BLOB) AS BLOB ";
$objQuery = mssql_query($strSQL);
echo "Copy/Upload Complete<br>";
}
?>
<a href="PageUploadToSQLServer3.php">View files</a>
</body>
</html>
อันนี้สำหรับแสดงข้อมูล
Code (ViewImage.php)
<?
header('Content-Type: image/jpeg');
$objConnect = mssql_connect("localhost","sa","") or die("Error Connect to Database");
$objDB = mssql_select_db("mydatabase");
$strSQL = "SELECT hex(FilesName) FROM files WHERE FilesID = '".$_GET["FilesID"]."' ";
$objQuery = mssql_query($strSQL) or die ("Error Query [".$strSQL."]");
$objResult = mssql_fetch_assoc($objQuery);
echo $objResult["FilesName"];
?>
ถ้ามันยากจริง ๆ ก็เก็บเฉพาะชื่อไฟล์ที่ดีที่สุดครับ เล่นกับ Binary Data ยากนิดหนึ่ง
|
 |
 |
 |
 |
Date :
2011-05-11 10:39:15 |
By :
webmaster |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณมากๆเลยครับ
เรื่องเปลี่ยน typedata ผม ยุ่งไม่ได้เลยครับ (อันนี้ผมเคยคุยเจ้าของแล้วเขาว่าเขาจะใช้อันนี้ครับ ไม่กล้าไปแย้งเขาเด๋วไม่จบครับ)
ที่ต้องทำ upload เพราะว่า ที่คุยกับ เจ้าของเขาบอกว่า มันจะมาในไม่ช้า คือ ว่า อนาคตอันไกล้นี้ ต้องใช้ครับ
ตอนนี้ ดึงรูปภาพแสดงได้แล้วครับ แต่ไม่รู้ว่าต้นฉบับที่มีใน database มันเป็นยังไง เพราะว่า ดึงมาแล้ว ภาพไม่ค่อยสมบูรณ์ ขาดบ้าง หายบ้างครับ
เลยอยากลองอับเองก่อนว่า สรุปว่าถ้าอับแล้ว เรียกมาเปิด แล้ว สมบูรณ์แปลว่าเป็นที่ภาพ ถ้า ไม่ นี้เรื่องยาวครับ
|
ประวัติการแก้ไข 2011-05-11 13:32:53
 |
 |
 |
 |
Date :
2011-05-11 13:29:41 |
By :
tingtongkub |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองดูน่ะครับ ถ้าหาได้ก่อนก็บอกด้วยนะครับ แต่ก็จะช่วยหาด้วยเช่นเดียวกันครับ 
|
 |
 |
 |
 |
Date :
2011-05-11 13:56:14 |
By :
webmaster |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตอนนี้ยังไม่เจอครับ ลองหา ที่เป็น ภาษาอังกฤษ แล้ว โค้ดเขาจะเหมือนที่เราใช้อยู่ครับ
ที่สำคัญผม ภาษาอังกฤษผมไม่แข็งแรง เลยไม่ค่อยรู้เรื่องครับ
|
 |
 |
 |
 |
Date :
2011-05-11 13:58:22 |
By :
tingtongkub |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้าเป็นภาษาอังกฤษผมก็เจอเหมือนกันโค้ดประมาณนี้ แต่ของผมลองทำอัพเดตนะ
ตัวนี้มันเข้าฐานข้อมูลครับ แต่ผมดึงออกมาไม่อะ
Code (PHP)
$datacontent = file_get_contents("about.jpg");
$data = unpack("H*hex", $datacontent);
mssql_query("UPDATE tb1 SET img='".$data['hex']."' WHERE id='2' ")or die(mysql_error());
ส่วนการดึงเค้าคิวรี่ธรรมดาแล้วก็ echo ออกมาไม่ได้ผ่านฟังก์ชันไรด้วยซ้ำ แต่ว่าก็ไม่มีภาพประกอบนะครับ
|
ประวัติการแก้ไข 2011-05-11 14:12:29
 |
 |
 |
 |
Date :
2011-05-11 14:11:49 |
By :
naskw |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เด๋วลองก่อนครับ
|
 |
 |
 |
 |
Date :
2011-05-11 16:20:13 |
By :
tingtongkub |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้า upload ได้และดึงมาแสดงได้ก็บอกด้วยละกัน ผมยังดึงมาแสดงไม่ได้เหมือนกัน จะพยายามลองช่วยละกัน
ทำไม่ได้มันรู้สึกคาใจยังไงไม่รู้ เด๋วต่อไปถ้าได้ใช้จะไม่ต้องเสียเวลามางมใหม่ อิๆ
|
 |
 |
 |
 |
Date :
2011-05-11 16:55:20 |
By :
naskw |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ยังทำไม่ได้เหมือนกันครับ 555+ 
|
 |
 |
 |
 |
Date :
2011-05-11 17:15:56 |
By :
webmaster |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แต่เท่าที่เข้าไปอ่านในเว็บ microsoft รู้สึกว่าอีกไม่นานเค้าจะยกเลิก image แล้วนะครับ ใน sql server เวอร์ชันต่อไป
เดี๋ยววันหลังเอาลิ้งมาโพสนะครับ
|
 |
 |
 |
 |
Date :
2011-05-11 17:29:01 |
By :
naskw |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ทำวิธีแรกได้ แต่ภาพกลับแสดงไม่สมบูรณ์ซะงั้น 
|
 |
 |
 |
 |
Date :
2011-05-11 17:34:44 |
By :
webmaster |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณมากๆเลยครับ
|
 |
 |
 |
 |
Date :
2011-05-11 20:35:54 |
By :
tingtongkub |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ได้แล้วครับ มั่วจนได้เลยครับ
ผมจะไปเขียนเป็น บทความได้ไหมครับ มี 4 หน้าเหมือนกันครับ
ลองเข้าไปเขียนมัน ให้ใส่ url ตลอดเลยครับ ทั้งที่กรอกไปแล้ว
ทำยังไงดีครับ
|
ประวัติการแก้ไข 2011-05-12 01:10:45
 |
 |
 |
 |
Date :
2011-05-12 00:57:34 |
By :
tingtongkub |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
โพสมาในนี้ก็ได้เลยครับ เดียวว่าง ๆ จะจัดการเขียนบทความเองครับ 
|
 |
 |
 |
 |
Date :
2011-05-12 06:17:25 |
By :
webmaster |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เยี่ยมมาก ๆ ครับ 
|
 |
 |
 |
 |
Date :
2011-05-12 08:38:51 |
By :
webmaster |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณท่านท่าน ที่ช่วยผมดูมาตั้งหลายวันนะครับ
ขอบคุณครับ
|
 |
 |
 |
 |
Date :
2011-05-12 09:08:55 |
By :
tingtongkub |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เดี๋ยวจะลองดู ขอบคุณที่แบ่งปันครับ เก็บไว้ก่อนเผื่อได้ใช้
|
 |
 |
 |
 |
Date :
2011-05-12 11:56:17 |
By :
naskw |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองอัพโหลดรูปใหญ่ (มากกว่า 40K) กลับมีปัญหาครับ หรือว่ามันปกติ
|
 |
 |
 |
 |
Date :
2011-05-12 11:56:58 |
By :
webmaster |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอโทษทีครับ ลืมบอกไปครับ
ต้องไปปรับใน php.ini ครับ
ตามนี้ครับ
[head] php.ini head]
; Valid range 0 - 2147483647. Default = 4096.
mssql.textlimit = 2147483647
; Valid range 0 - 2147483647. Default = 4096.
mssql.textsize = 2147483647
ปกติเป็น 4096 เราเปลี่ยนตามที่เรากำหนดได้เลยครับ
ผมเลยเปลี่ยนเป็น 2147483647 เต็มที่เลยครับ
ถ้าน้อยมันได้แค่ นิดเดียวครับ เคยลอง แค่ 100k ลองอับรุป 200k มันขึ้นแค่ครึ่งเดียวครับ
|
ประวัติการแก้ไข 2011-05-12 13:13:24
 |
 |
 |
 |
Date :
2011-05-12 13:08:22 |
By :
tingtongkub |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองดูแล้วใช้อันนี้ก็ได้เหมือนกันครับ
สำหรับ Type ให้เลือกเป็น varBinary(MAX)
เรียกใช้ function OPENROWSET ของ SQL Server ในการ Insert Binary Data
Syntax
INSERT INTO files
(Name, FilesName)
SELECT 'win',
BulkColumn FROM OPENROWSET(
Bulk 'D:\AppServ\www\myphp\win.jpg', SINGLE_BLOB) AS BLOB
แปลงเป็น php ก็จะได้
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com Tutorial</title>
</head>
<body>
<?
if($_FILES["filUpload"]["name"] != "")
{
//*** Insert Record ***//
$objConnect = mssql_connect("localhost","sa","") or die("Error Connect to Database");
$objDB = mssql_select_db("mydatabase");
$strSQL = "INSERT INTO files ";
$strSQL .=" ( Name, FilesName) ";
$strSQL .=" SELECT '".$_POST["txtName"]."', ";
$strSQL .=" BulkColumn FROM OPENROWSET( ";
$strSQL .=" Bulk '".$_FILES["filUpload"]["tmp_name"]."', SINGLE_BLOB) AS BLOB ";
$objQuery = mssql_query($strSQL);
echo "Copy/Upload Complete<br>";
}
?>
<a href="PageUploadToSQLServer3.php">View files</a>
</body>
</html>
อันนี้สำหรับแสดงข้อมูล
Code (ViewImage.php)
<?
header('Content-Type: image/jpeg');
$objConnect = mssql_connect("localhost","sa","") or die("Error Connect to Database");
$objDB = mssql_select_db("mydatabase");
$strSQL = "SELECT hex(FilesName) FROM files WHERE FilesID = '".$_GET["FilesID"]."' ";
$objQuery = mssql_query($strSQL) or die ("Error Query [".$strSQL."]");
$objResult = mssql_fetch_assoc($objQuery);
echo $objResult["FilesName"];
?>
ถ้ามันยากจริง ๆ ก็เก็บเฉพาะชื่อไฟล์ที่ดีที่สุดครับ เล่นกับ Binary Data ยากนิดหนึ่ง
|
 |
 |
 |
 |
Date :
2011-05-16 10:24:45 |
By :
webmaster |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|