Error Message shown after uploading file In PHP
509
I have a problem in my function:
public uploadfile()
{
//$msg=111;
$instId=Yii::app()->session['loginUser']['intInstId'];
$userloginId=Yii::app()->session['loginUser']['bintLoginId'];
$folderId=$_POST['id'];
$path=DIRECTORYPATH.'/directory/otherAssignment/'.$instId;
//$tempFolder =$path."/tmp";
$fileElementName = $folderId;
if (!empty($_FILES[$fileElementName]['error'])) {
switch($_FILES[$fileElementName]['error']) {
case '1':
$error = 'The uploaded file exceeds the upload_max_filesize "
."directive in php.ini';
break;
case '2':
$error = 'The uploaded file exceeds the MAX_FILE_SIZE directive ".
."that was specified in the HTML form';
break;
case '3':
$error = 'The uploaded file was only partially uploaded';
break;
case '4':
$error = 'No file was uploaded.';
break;
case '6':
$error = 'Missing a temporary folder';
break;
case '7':
$error = 'Failed to write file to disk';
break;
case '8':
$error = 'File upload stopped by extension';
break;
case '999':
default:
$error = 'No error code avaiable';
}
} elseif (empty($_FILES[$fileElementName]['tmp_name'])
|| $_FILES[$fileElementName]['tmp_name'] == 'none'
) {
$error = 'No file was uploaded..';
} else {
$fileSize=$_FILES[$fileElementName]['size'];
$status=RepositoryModel::model()
->storageSpaceValidation($fileSize);
if ($status==1) {
if (!is_dir($path)) {
mkdir($path, 0777);
}
if (!is_dir($path."/".$userloginId)) {
mkdir($path."/".$userloginId, 0777);
}
if (!is_dir($path."/".$userloginId."/tmp")) {
mkdir($path."/".$userloginId."/tmp", 0777);
}
$uploadPath=$path."/".$userloginId."/tmp";
RepositoryModel::model()
->emptyTempFolder($uploadPath);
if (move_uploaded_file(
$_FILES[$fileElementName]["tmp_name"],
$uploadPath.'/'.$_FILES[$fileElementName]['name']
)
) {
$msg= $_FILES[$fileElementName]['name'];
}
} else {
$error="File can not be uploaded because "
."your Storage spacae capacity is exceed.<br/> "
."Plese Contact with admin!";
}
}
} else {
$session->destroy();
$msg= "<script>window.location.href='".SITEURL."';</script>";
}
echo "{";
echo "error: '" . $error . "',\n";
echo "msg: '" . $msg . "'\n";
echo "}";
}
When I try to upload a file, the file is uploaded but still the messageNo file was uploaded.
is displayed. Can anybody tell me the reason that when I upload a file it was uploaded to the Temp folder but after success it will still show the error messageNo file was uploaded.
?
Answer
Solution:
If you're not getting a file uploaded, then the chances are that your form is missing the
multipart
declaration.Make sure that your
<form>
element contains theenctype="multipart/form-data"
attribute.Somethng like this: