yii上传文件错误
问题描述:
我是一名葡萄牙学生,我正在尝试为游戏管理实施一个网络应用程序。yii上传文件错误
的表结构game
`game` (
`idGame` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(75) NOT NULL,
`primaryScreen` blob NOT NULL,
`game_content` blob NOT NULL,
`category` varchar(45) NOT NULL,
`platform` varchar(45) NOT NULL,
`device` varchar(45) NOT NULL,
`description` varchar(250) NOT NULL,
`funcionalities` varchar(150) NOT NULL,
PRIMARY KEY (`idGame`)
)
`screen` (
`idScreen` int(11) NOT NULL AUTO_INCREMENT,
`id_Game` int(11) NOT NULL,
`image` longblob NOT NULL,
PRIMARY KEY (`idScreen`),
KEY `id_Game` (`id_Game`)
)
我读了如何在一个数据库 http://www.yiiframework.com/wiki/95/saving-files-to-a-blob-field-in-the-database
文件上传到BOLB一个警予教程,唯一的区别是,在函数之前保存我只想保留文件的内容(我可以做到这一点或我必须保留文件名,文件扩展名...) 所以我喜欢这种模式:
public function beforeSave()
{
if($file=CUploadedFile::getInstance($this,'game_uploaded'))
{
// $this->file_name=$file->name;
//$this->file_type=$file->type;
//$this->file_size=$file->size;
$this->game_content=file_get_contents($file->tempName);
//$file->saveAs('path/to/uploads');
}
if($file=CUploadedFile::getInstance($this,'primscreen'))
{
//$this->file_name=$file->name;
//$this->file_type=$file->type;
//$this->file_size=$file->size;
$this->primaryScreen=file_get_contents($file->tempName);
//$file->saveAs('path/to/uploads');
}
return parent::beforeSave();
}
但是当我尝试,我有此错误:
PDOStatement::execute(): MySQL server has gone away
可能有人帮助我吗?
我很欣赏任何建议。谢谢:)
答
在您的配置文件
尝试它的主机从把 “localhost” 到 “127.0.0.1”
答
尝试保存到数据库
汜trabalho前使用BASE64_ENCODE!
答
-
MySQL server has gone away
的一个常见原因是由于超时。尽量增加default_socket_timeout
像这样:ini_set('default_socket_timeout', 300);
-
另一种可能是斑点的大小。尝试在
php.ini
post_max_size upload_max_filesize