我的功能有问题:
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 "}";
}
当我尝试上传文件时,文件已上传,但仍会显示消息No file was uploaded.
。任何人都可以告诉我上传文件时上传到Temp文件夹的原因但成功后它仍然会显示错误消息No file was uploaded.
?
答案 0 :(得分:0)
如果您没有上传文件,那么您的表单可能会遗漏multipart
声明。
确保您的<form>
元素包含enctype="multipart/form-data"
属性。
Somethng喜欢这个:
<form action="...your-url-here..." enctype="multipart/form-data" method="post">