yii采用原始php文件上传方法上传文件

1. 编写view

在view的index.php 代码如下:注意action是接受文件上传的action

复制代码

<form action=”api/uploadimg” method=”post” enctype=”multipart/form-data”>
<label for=”file”>Filename:</label>
<input type=”file” name=”file” id=”file” />
<br />
<input type=”submit” name=”submit” value=”Submit” /></form>

 

复制代码

 

在Controller的action方法如下:

 

复制代码

public function actionUploadimg()
{
$isSuc = false;
$root = YiiBase::getPathOfAlias(‘webroot’).Yii::app()->getBaseUrl();
$folder = $root.’/images/images/users/4/’;
$desFilePath;
$tmpFilePath;

$this->mkDirIfNotExist($folder);

if ((($_FILES[“file”][“type”] == “image/gif”)
|| ($_FILES[“file”][“type”] == “image/jpeg”)
|| ($_FILES[“file”][“type”] == “image/png”)
|| ($_FILES[“file”][“type”] == “image/jpg”)
|| ($_FILES[“file”][“type”] == “image/pjpeg”)))
//&& ($_FILES[“file”][“size”] < 20000))
{
if ($_FILES[“file”][“error”] > 0)
{
$isSuc = false;
}
else
{
echo “Upload: ” . $_FILES[“file”][“name”] . “<br />”;
echo “Type: ” . $_FILES[“file”][“type”] . “<br />”;
echo “Size: ” . ($_FILES[“file”][“size”] / 1024) . ” Kb<br />”;
echo “Temp file: ” . $_FILES[“file”][“tmp_name”] . “<br />”;
$tmpFilePath = $_FILES[“file”][“tmp_name”];
$desFilePath = $folder.$_FILES[“file”][“name”];

if (file_exists($desFilePath))
{
unlink($desFilePath);
//echo $_FILES[“file”][“name”] . ” already exists. “;
}
else
{
move_uploaded_file($tmpFilePath, $desFilePath);
$isSuc = true;
}
}
}
else
{
echo “Invalid file”;
}

}

function mkDirIfNotExist($dir)
{

if(!is_dir($dir))
{
if(!mkdir($dir, 0, true))
{
throw new Exception(‘create folder fail’);
//return false;
}
else
{
return true;
}
}
return false;    }

复制代码

 

参考 http://www.w3school.com.cn/php/php_file_upload.asp

本文固定链接: http://www.ccsbbs.com.cn/archives/5723.html | 极限手指

该日志由 极限手指 于2013年02月22日发表在 YII 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: yii采用原始php文件上传方法上传文件 | 极限手指

yii采用原始php文件上传方法上传文件:等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!