Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > รบกวนท่านที่ใช้ codeigniter + uploadify ให้คำแนะนำหน่อยครับผม



 

รบกวนท่านที่ใช้ codeigniter + uploadify ให้คำแนะนำหน่อยครับผม

 



Topic : 081634



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์




ตอนนี้ผมสามารถอัพโหลดไฟล์ภาพลงโฟลเดอร์ใน server ได้แล้วครับ แต่ผมต้องการเก็บชื่อไฟล์ลงใน db ด้วยอ่ะครับผม
code ผมประมาณนี้ครับ

ส่วน view
Code (JavaScript)
        var str = "<tr><td><input type='file' name='test_file1' id='test_file1'>TEST_1</td></tr>\
		       <tr><td><button id='upload_ins_btn' onclick='upload_ins();'>UPLOAD</button>";
	$('#ins_evidence_table').html(str);
	$('#upload_ins_btn').button();
	$('#test_file1').uploadify({
		'debug'		: false,
		'auto'		: false,
		'removeCompleted' : false,
		'fileTypeExts' : '*.gif; *.jpg; *.png',
		'swf'      	: $('#site_url').val() + "../assets/modules/stm/image/uploadify.swf",
		'uploader' 	: $('#site_url').val() + "stm/testUpload"
	});


อันนี้ controller
Code (PHP)
public function testUpload()
{
	$targetFolder = '/bpi/assets/modules/stm/image/ins_evidence'; // Relative to the root
	 
	if (!empty($_FILES))
	{
		$tempFile = $_FILES['Filedata']['tmp_name'];
		$targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder;
		$targetFile = rtrim($targetPath,'/') . '/' . $_FILES['Filedata']['name'];	
			
		// Validate the file type
		$fileTypes = array('jpg','jpeg','gif','png'); // File extensions
		$fileParts = pathinfo($_FILES['Filedata']['name']);
		if (in_array($fileParts['extension'],$fileTypes)) {
		        move_uploaded_file($tempFile,$targetFile);
			echo '1';
		} else {
			echo 'Invalid file type.';
		}
	}
}


คือผมต้องการส่ง ชื่อไฟล์ไปให้ function ใน model ทำการ insert ลง db อ่ะครับผม ผมต้องทำยังไงได้บ้างครับ

ค้น ๆจาก google ดุแล้วงง ๆครับผม



Tag : PHP, Oracle, HTML/CSS, JavaScript, Ajax, jQuery







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-07-27 14:46:41 By : kobbeau View : 2061 Reply : 5
 

 

No. 1



โพสกระทู้ ( 482 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ผมก็เคยลองใช้นะครับตัวนี้แต่ใช้ไม่ค่อยเป็น เลยใช้ตัวนี้แทน
https://www.thaicreate.com/community/php-ajax-upload-file-upload-progress.html

ลองเอาไปเผื่อเป็นทางเลือกนะครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-07-27 16:04:49 By : babyprogrammer
 


 

No. 2



โพสกระทู้ ( 4,756 )
บทความ ( 8 )



สถานะออฟไลน์


ถ้าใช้ Codeigniter และต้องการอัพโหลด บวกกับต้องการความปลอดภัยด้วย
อย่าใช้การอัพโหลดผ่าน flash เพราะมันจะได้ค่า mime type ที่ไม่ตรงในบางเบราเซอร์ เช่น firefox

และ flash ส่งค่าป้องกัน csrf ไม่ได้

แนะนำให้ใช้ html5 upload ได้ทั้งแบบลากวาง และแบบกำหนดค่า multiple="" ลงใน input file
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-07-27 23:52:09 By : mr.v
 

 

No. 3



โพสกระทู้ ( 616 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

ถ้าเป็นผมนะ ผมใช้วิธีการ ดึงค่าที่ต้องการทั้งหมดที่จะ insert มาอยู่ใน controller ก่อน แล้วค่อยส่งให้ model เป็นตัวจัดการกับฐานข้อมูล พอส่งไปทำแล้วค่อยมีการแจ้งเตือนว่าได้หรือไม่ได้ หรือลองศึกษา ที่นี่ครับ http://codeigniter.com/user_guide/libraries/file_uploading.html เรื่อง File Uploading Class ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-07-28 08:33:02 By : slurpee55555
 


 

No. 4



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณทุกท่านมากครับสำหรับคำแนะนำครับผม สำหรับท่านที่แนะนำให้ลองวิธีอื่นก็ขอบคุณมากเลยครับ

แต่ตอนนี้เนื่องด้วยเวลาผมมีจำกัด จึงอยากทำให้ได้ด้วยตัวนี้ก่อนอ่ะครับผม นอกจากว่าจะไม่ได้จริง ๆ ก็คงต้องเปลี่ยน

แต่กลัวมีปัญหาเรื่อง time frame ของงานอ่ะครับผม

พอดีผมลองโยน $_FILES['Filedata']['name'] เข้าไป query ใน model ดูน่ะครับ

ความจริงมันควรจะเก็บเป็นชื่อไฟล์ ลง DB แต่มันดันขึ้นมาว่า HTTP Error (500) บน progress bar อ่ะครับผม

แต่ภาพที่ทำการ upload กลับถูกอัพขึ้นไปใน server ได้ครับ งงมากเลยครับ

แล้วตัว button_image_url มันคืออะไรหรอครับ ผมลองใช้ function debug ของ uploadify ดู

เห็นมันเรียก path ผิดอ่ะครับ มันเรียก

button_image_url : /bpi/index.php/stm/page/1/

ซึ่งจริง ๆแล้วน่าจะเป็น

button_image_url : /bpi/index.php/stm/page/1/insurance

แล้วเวลาผมเช็คใน firebug มันขึ้น

error :"NetworkError: 500 Internal Server Error - hostname/bpi/index.php/stm/page/1/"

ตัวนี้มาอ่ะครับ หามา 3 วันแล้วไม่รู้เป็นที่อะไร แต่มันอัพโหลดภาพขึ้น host ได้นะครับ ทั้งที่มี error นี้ แต่เอา $_FILES['Filedata']['name']

ไป query ไม่ผ่าน งงมากเลยครับ ช่วยด้วยครับ T^T


Code ที่เพิ่มใน function controller ครับ
public function testUpload()
{
	$targetFolder = '/bpi/assets/modules/stm/image/ins_evidence'; // Relative to the root
	 
	if (!empty($_FILES))
	{
		$tempFile = $_FILES['Filedata']['tmp_name'];
		$targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder;
		$targetFile = rtrim($targetPath,'/') . '/' . $_FILES['Filedata']['name'];
		
		$data = array('img_name' => $_FILES['Filedata']['name']); // <--แทรกบรรทัดนี้เพิ่มครับ
			
		// Validate the file type
		$fileTypes = array('jpg','jpeg','gif','png'); // File extensions
		$fileParts = pathinfo($_FILES['Filedata']['name']);
	
		if (in_array($fileParts['extension'],$fileTypes)) {
			move_uploaded_file($tempFile,$targetFile);
			echo $this->stm->insert_ins_img($data); // <--แทรกบรรทัดนี้เพิ่มครับ
		} else {
			echo 'Invalid file type.';
		}
	}
}


Code ส่วน model ที่ query ชื่อไฟล์ลง DB
function insert_ins_img($data)
{
	$query_str = "INSERT INTO AFFAIRS_EVIDENCE_INS_IMG(INS_IMAGES,EVIDENCE_INS_TYPE,WITHDRAW_FK) 
							VALUES(".$data['img_name'].",'3','3')";
	$query = $this->db->query($query_str);
	return json_encode($query);
}



ประวัติการแก้ไข
2012-07-31 11:57:58
2012-07-31 12:06:06
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-07-31 11:50:58 By : kobbeau
 


 

No. 5



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์


ตอนนี้ทำ insert ได้แล้วครับผม เหลือแต่ bug ตัวนี้ครับ

button_image_url มันคืออะไรหรอครับ ผมลองใช้ function debug ของ uploadify ดู

เห็นมันเรียก path ผิดอ่ะครับ มันเรียก

button_image_url : /bpi/index.php/stm/page/1/

ซึ่งจริง ๆแล้วน่าจะเป็น

button_image_url : /bpi/index.php/stm/page/1/insurance

แล้วเวลาผมเช็คใน firebug มันขึ้น

error :"NetworkError: 500 Internal Server Error - hostname/bpi/index.php/stm/page/1/"
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-07-31 15:03:47 By : kobbeau
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนท่านที่ใช้ codeigniter + uploadify ให้คำแนะนำหน่อยครับผม
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่