ขอความช่วยเหลือเรื่องวิธีใช้งาน jquery plugin uploadify ครับ
คุณเข้าใจถูกครับ เอาตัวอย่างไปรันดูเลยก็ได้ครับ เวลาโหลดมีมาให้หมด
Date :
2011-08-05 10:41:17
By :
ikikkok
ok ครับงั้นผมเข้าใจถูกแล้ว
$(document).ready(function() {
$('#file_upload').uploadify({
'uploader' : 'uploadify.swf',
'script' : 'uploadify.php',
'cancelImg' : 'cancel.png',
'folder' : '/uploads',
'auto' : false,
'removeCompleted' : false,
'multi' : true,
'fileExt' : '*.jpg;*.gif;*.png',
'onAllComplete' : function(event,data) { alert(data.filesUploaded + ' files uploaded successfully!');}
});
});
เมื่อ upload แล้วมันจะไป copy ไฟล์ขึ้น server ผ่าน uploadify.php แล้วไป save ไว้ที่โฟล์เดอร์ uploads แต่ตอนนี้ผมยังไม่สามารถ upload ไฟล์ได้ครับ คือผมยังไม่ได้แก้อะไรเพิ่มเติมนะครับ แค่ลอง run ดู เฉยๆ มันขึ้น complete แต่ไฟล์ไม่ได้อยู่ใน uploads ครับผมก็เลยงงว่า ต้องไปแก้ตรงไหนมั้ย
Date :
2011-08-05 11:32:44
By :
phoenekia
Code (PHP)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=TIS-620" />
<title>Gallery</title>
<script type="text/javascript" src="../jquery/jquery-1.6.1.min.js"></script>
<link href="uploadify.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript" src="jquery.uploadify.v2.1.4.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#file_upload').uploadify({
'uploader' : 'uploadify.swf',
'script' : 'uploadify.php',
'cancelImg' : 'cancel.png',
'folder' : '/uploads',
'auto' : false,
'removeCompleted' : false,
'multi' : true,
'fileExt' : '*.jpg;*.gif;*.png',
'onAllComplete' : function(event,data) { alert(data.filesUploaded + ' files uploaded successfully!');}
});
});
</script>
</head>
<body>
<div >
<form id="form1" action="" method="post">
<input id="file_upload" name="file_upload" type="file" />
<a href="javascript:$('#file_upload').uploadifyUpload();">Upload Files</a> | <a href="javascript:$('#file_upload').uploadifyClearQueue();">Clear Queue</a>
</form>
</div>
</body>
</html>
อันนี้ code ที่ผมลองครับ
Date :
2011-08-05 11:34:16
By :
phoenekia
แก้ที่ไฟล์ uploadify.php ครับ
Date :
2011-08-05 11:45:47
By :
ikikkok
ครับปัญหาคือผมไม่รู้จะแก้อะไรเพราะมันน่าจะใช้งานได้แล้วนิ
Code (PHP)
<?php
if (!empty($_FILES)) {
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
$targetFile = str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];
copy($tempFile,$targetFile);
echo str_replace($_SERVER['DOCUMENT_ROOT'],'',$targetFile);
}
?>
Date :
2011-08-05 13:29:46
By :
phoenekia
ทำได้แล้วครับ เหตุเพราะ $_SERVER['DOCUMENT_ROOT'] มันไม่ใช่ที่ๆผมต้องการครับแก้ใหม่เป็น
$targetPath = 'uploads/'; แค่นี้หายครับ
Date :
2011-08-05 13:51:14
By :
phoenekia
ถั่วต้มครับ
Date :
2011-08-05 13:54:27
By :
ikikkok
งั้นขออนุญาติถามต่อครับ จากบันทัดนี้
'script' : 'uploadify.php',
ผมจะส่งค่าget ไปด้วยผมก็เขียนเป็น
'script' : 'uploadify.php?fn='+$('#course_list').val(),
ซึ่ง 'course_list' เป็น select
ปัญหาคือค่าของ$('#course_list').val() จะมาเฉพาะ option ตัวแรกเท่านั้น ไม่ว่าจะเลือก option ตัวไหน value ที่ได้จะเป็นของ option ตัวแรกทุกครับ มีทางแก้มั้ยครับหรือผม พิมพ์อะไรผิด
Date :
2011-08-05 15:48:02
By :
phoenekia
ส่งผ่าน scriptData ครับ อ่านใน docs เลย
Date :
2011-08-05 16:01:57
By :
ikikkok
ขออภัยครับผมไม่เข้าใจ docs ไหนครับ
Date :
2011-08-05 16:14:38
By :
phoenekia
ออ ...... แบบนี้หรอครับ 'scriptData' : {'fn':$('#course_list').val()}, คือผมส่งข้อมูลไปได้ครับแต่อย่างที่บอกมันเอาข้อมูลตัวแรกไป
เช่นผมมี
<select id='course_list' >
<option value='a'>a</option>
<option value='b'>b</option>
<option value='c'>c</option>
</select>
ตอนนี้มันจะเอาไปแต่ค่า a ครับ ไม่ว่าผมจะเลือก a b หรือ c
ผมก็เลยอยากรู้ว่าผมผิดหรอ
$('#course_list').val()
มันไม่ได้ดึงข้อมูล option ที่ selected อยู่ออกมาหรอครับ
Date :
2011-08-05 16:25:00
By :
phoenekia
alert() ดูก่อนก็ได้ครับไม่น่าผิดนะ
Date :
2011-08-05 16:35:21
By :
ikikkok
ok ครับ ผมลองแล้ว ให้มัน alert ค่าที่เราเลือกก่อนจะ submit และคิดว่าเป็นเพราะ $(document).ready() ซึ่งผมเข้าใจว่ามันคือ onload ดังนั้นโปรแกรมนี้จะทำงานตอนที่ load page พอเราเลือกค่าต่างๆ ใน select มันจึงไม่เปลี่ยนตามเพราะตอนที่เราเลือกนั้นมันผ่าน ขั้นตอน load page ไปแล้วค่าที่ส่งไปจึงเป็น "a" แบบที่ผมบอกเสมอเพราะเป็นค่าแรกที่โปรแกรมเจอตอน load page ผมเข้าใจถูกมั้ย
ต่อมาผมเลยลองเปลี่ยน .ready() เป็น .change() แต่ก็ไม่ได้อีกทำให้โปรแกรมยิ่งรวน ผมเลยสงสัยว่าถ้าสิ่งที่ผมเข้าใจมันถูก แล้วโปรแกรมจะทำงานยังไงครับ
Date :
2011-08-08 15:28:15
By :
phoenekia
เขียน onchage ให้ dropdown ที่คุณจะส่งนะครับ ให้ uploadifySettings set scriptData ตอนที่มัน change
Date :
2011-08-08 15:50:20
By :
ikikkok
ขอบคุณมากๆครับ ผ่านแล้ว
<select name="course_list" id="course_list" onchange="javascript:$('#file_upload').uploadifySettings('scriptData',{'fn':$('#course_list').val()});" >
Date :
2011-08-08 16:10:01
By :
phoenekia
พอดีผมกำลังศึกษาอยู๋ อยากถามหน่อยว่า ถ้าจะอัพโหลดไฟล์รูปภาพลงดาต้าเบสlocalhost โดยข้อมูลBLOB ต้องทำยังงัยครับ ติดมาสองวันแล้วคับ ช่วยแนะนำหน่อย
ประวัติการแก้ไข 2011-10-31 03:32:38
Date :
2011-10-31 03:31:41
By :
rainsad
เรื่อง blob บทเรียนก็มีครับ อ่านดูซิ
Date :
2011-10-31 12:19:24
By :
ikikkok
มีบทความไหนบ้างคับ......
Date :
2011-10-31 19:22:11
By :
rainsad
uploadify สามารถใส่ wwatermark ได้มั้ยคับ ผู้รู้ช่วยแนะนำหน่อยคับบบบ ขอบคุณครับ
Date :
2012-02-06 12:03:42
By :
kiko
Uploadify เพิ่มความสามารถในการ Upload ไฟล์ด้วย Library Uploadify (jQuery)
Date :
2013-07-08 17:12:25
By :
mr.win
Load balance : Server 03