I am using the Uploadify Plugin to Upload files. although this might be a very basic question i am unable to understand and implement to get it work to upload the files.
I want to achieve the following using uploadify
when a user select the file i want it to be directly uploaded to the target path using PHP.
now i am using the following code.
<html>
<head>
<link rel="stylesheet" href="css/uploadify.css" type="text/css" />
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="js/jquery.uploadify.v2.1.0.min.js"></script>
<script type="text/javascript" src="js/swfobject.js"></script>
</head>
<script type="text/javascript">
$(document).ready(function() {
$('#someID').uploadify({
'uploader': 'img/uploadify.swf',
'script': 'uploadify.php',
'folder': 'upload',
'cancelImg': 'img/cancel.png',
'auto': 'true',
'fileDesc': 'jpg/jpeg',
'displayData': 'percentage',
'fileExt': "*.jpg;*.jpeg",
'sizeLimit' : '8388608'
}); });
</script>
<body>
<form id="someID" action="uploadify.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="fileUpload1"/>
<p><input type="submit" name="submit" value="Upload" /></p>
</form>
</body>
and this is the code for uploadify.php
if (!empty($_FILES)) {
$tempFile = $_FILES['file']['tmp_name'];
$targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
$targetFile = str_replace('//','/',$targetPath) . $_FILES['file']['name'];
move_uploaded_file($tempFile,$targetFile);
echo "1";
I just want to upload a single file. do i need to include the check.php for that. how do i make something like when a user select the image file it directly performs the operation and move to the designated directory.
P.S: I have the very basic understanding of javascript and jquery. 🙂
Note : file uploading problem is solved now.
how do i limit the user from uploading
just one file on one button, i want
something like when a user select the
file and it gets uploaded that button
should be disabled or something
EDIT : for limiting the users from uploading multiple file in a button i added this code and it is still uploading many files as and when users select multiple times. here is my code.
<script type="text/javascript">
$(document).ready(function() {
$('#someID').uploadify({
'uploader': 'img/uploadify.swf',
'script': 'uploadify.php',
'folder': 'upload',
'cancelImg': 'img/cancel.png',
'auto': 'true',
'fileDesc': 'jpg/jpeg',
'displayData': 'percentage',
'fileExt': "*.jpg;*.jpeg",
'sizeLimit' : '8388608',
'fileDataName' : 'file',
onSelect : function(){
$("#someID input").attr("disabled", true);
}
}); });
</script>
what is wrong with it?
I was wrangling with this a few weeks ago. You need to change your
fileDataNameattribute. By default, it isFiledata. You are trying to access it asfilein this part:$_FILES['file'].Either change all instances of
$_FILES['file']to$_FILES['Filedata']or add this attribute to your$('#someID').uploadify({});attribute collection:fileDataName:'file'.If you are looking for a drop-in fix, just make this change in your JavaScript:
Note the
'fileDataName' : 'file'To limit a single upload (as long as the page isn’t refreshed, of course):
Change your JavaScript to this:
Just know that if the user refreshes the page, the button will be enabled again allowing them to upload another file. They can also re-enable it manually. So, add a server-side check to make sure that they don’t upload another file if you don’t want them to.