প্রথম বারের মত টেকটিউন্স এ লিখতে যাচ্ছি। আসলে প্রথম বারের মত ব্লগ লিখছি। দোয়া করবেন যাতে লিখা চালিয়ে যেতে পারি......:)
এডোবি ফ্লাস (Adobe Flash) এ অনেক দিন কাজ করছি। আমার সবচেয়ে বড় টিচার ইন্টারনেট। আমাকে অনেক কিছু শিখিয়েছে, অনেক হেল্প করেছে বিভিন্ন কম্পলেক্স কোডিং এ। কিন্তু আমি এমন কিছু বিপদ এ পরেছিলাম যেটা অনেক খুজে ইন্টারনেট এ ও পাই নাই। পরে যখন নিজে বের করেছি তা আর কাজে লাগে নাই...:((
আমার ইচ্ছা আছে ব্যাপার গুলি আপনাদের সাথে এই টেকটিউন্স এ শেয়ার করার। আশা করি আপনাদের কাজে লাগবে।
আজকে এডোবি ফ্লাস (Adobe Flash) এর যেই টপিকটা নিয়ে আপনাদের সাথে আলচনা করব সেটা হল ফাইল আপ্লোডিং। একশন্সক্রিপ্টিং ২.০ অনেক পুরাতন হলেও অনেকেই এটাতে কাজ করতে পছন্দ করে। আমি ঐ দলের একজন। প্রথমে ফাইল আপ্লোডিং এর কোডিং(একশন্সক্রিপ্টিং ২.০) তা দেখাই আপনাদের।
import flash.net.FileReference;
// The listener object listens for FileReference events.
var listener:Object = new Object();
listener.onSelect = function(selectedFile:FileReference):Void {
statusArea.text += "Attempting to upload " + selectedFile.name + "\n";
selectedFile.upload("http://localhost/upload/upload.php");
};
// the file is starting to upload.
listener.onOpen = function(selectedFile:FileReference):Void {
statusArea.text += "Uploading " + selectedFile.name + "\n";
};
listener.onHTTPError = function(file:FileReference, httpError:Number):Void {
imagePane.contentPath = "error";
imagePane.content.errorMSG.text = "HTTPError number: "+httpError +"\nFile: "+ file.name;
}
listener.onIOError = function(file:FileReference):Void {
imagePane.contentPath = "error";
imagePane.content.errorMSG.text = "IOError: "+ file.name;
}
listener.onSecurityError = function(file:FileReference, errorString:String):Void {
imagePane.contentPath = "error";
imagePane.content.errorMSG.text = "SecurityError: "+SecurityError+"\nFile: "+ file.name;
}
// the file has uploaded
listener.onComplete = function(selectedFile:FileReference):Void {
statusArea.text = "Upload finished”
};
var imageFile:FileReference = new FileReference();
imageFile.addListener(listener);
এই কোডিংটা কপি করা হয়েছে (http://www.flash-db.com/Tutorials/upload/upFiles.php?) থেকে।
আমার মনে হয় এডোবি ফ্লাস (Adobe Flash) নিয়ে যারা কাজ করেন তারা অনেকেই এই টিউটোরিয়ালটা অনেক বার দেখেছেন। FileReference ক্লাস তা অনেক পরিচিত আপনাদের কাছে। এখন এই ক্লাস তা কে সাপোর্ট দেবার জন্য পিএইচপি এর একটা কোড লাগে। যেটা অনেকটা এইরকম
move_uploaded_file($_FILES[’Filedata’][’tmp_name’], "./files/".$_FILES[’Filedata’][’name’]);
সবই ঠিক আছে। কিন্তূ ঝামেলাটা লাগে যখন আপনার ইউনিক ফাইল নেইম বা নিজের পছন্দ অনুযায়ী ফাইল আপ্লোডিং করতে চান এবং ওই আপ্লোডিং ফাইল এর নামটা immediately ফ্লাস এ কল ব্যাক করাতে চান। যেমন আপনি যদি পিএইচপি কোড টা এভাবে করেন।
$filename=time().$_FILES['uploadedfile']['name'];
move_uploaded_file($_FILES[’Filedata’][’tmp_name’], "./files/".$filename);
আশা করি আপনারা বুজতে পারছেন আমি কি বলতে চাচ্ছি। আমি খুব ভাল বিপদে পরে গেছিলাম। একশন্সক্রিপ্টিং ৩.০ তে এর সমাধান আছে কিন্তু আমার লাগবে ২ তে। পরে একটা উপায় পেয়েছিলাম কিন্তু শেষ রক্ষা হয় নাই। এখন ঐ উপায় তা আপনাদের সাথে শেয়ার করছি। আশা করি আপনাদের কাজে লাগবে।
প্রথমে পিএইচপি তে হাত দেই। কোডটা লিখতে হবে এইভাবে......
$filename=time().$_FILES['uploadedfile']['name'];
move_uploaded_file($_FILES[’Filedata’][’tmp_name’], "./files/".$filename);
echo $filename;
এখন আসি একশন্সক্রিপ্ট ২ তে। এডোবি ফ্লাস প্লেয়ার ৯ থেকে এডোবি FileReference ক্লাস এর কিছু উন্নয়ন ঘটায়। এর ফলে ফাইল আপ্লোড করার পর server script থেকে FileReference ক্লাস রেস্পন্স ব্যাক করে ডাটা স্টিরিং হিসাবে। যেমন আপনি ঐ ফাইল নেমটা গেট করতে পাবেন এভাবে।
listener.onUploadCompleteData= function(selectedFile:FileReference , data:String):Void {
statusArea.text = "server response is: " + data;
};
এখানে data নামের যেই string আপনারা দেখতে পাচ্ছেন সেটা server response গেট করে পাব্লিশ করে।
ছোট্ট একটা জিনিস কিন্তু আমি কোথাও খুজে পাই নাই। এমনকি এডোবি এর সাপোর্ট পোরটাল এ গিয়েও কিছু পাই নাই। তারা খালি একশন্সক্রিপ্ট ৩ নিয়া ব্যাস্ত। একশন্সক্রিপ্ট ২ তে যে এটা add করসে তা বলতে খবর নাই।
যাই হোক, আশা করি information টা আপনাদের কাজে লাগবে।
ভালো থাকবেন............:)
আমি Simply-Coder। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 15 বছর 4 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 4 টি টিউন ও 35 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 0 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।
Apnader ta chai re vai…
flash er kaj amar khub favourite…
Aro aro onek onek tune chai…