Yii Framework Forum: Upload De Fichiers - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Upload De Fichiers upload de fichieres blob base de donnée Rate Topic: -----

#1 User is offline   Silvia 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 3
  • Joined: 08-February 13

Posted 27 March 2013 - 07:27 AM

Bonjour, je suis une étudiante et dans le cadre d'une discipline je dois programmer une application web qui permette de faire la gestion de fichiers de jeux....

la structure de ma base de donnée est la suivante:
-- Database: `games`
--

-- --------------------------------------------------------

--
-- Table structure for table `game`
--

CREATE TABLE IF NOT EXISTS `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`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

--
-- Table structure for table `screen`
--

CREATE TABLE IF NOT EXISTS `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`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

--
-- Constraints for dumped tables
--

--
-- Constraints for table `screen`
--
ALTER TABLE `screen`
ADD CONSTRAINT `screen_ibfk_1` FOREIGN KEY (`id_Game`) REFERENCES `game` (`idGame`);

j'ai suivi le tutoriel
My link

la seul diférence est que je ne souhaite guarder dans mas base de données (je ne sais pas si c'est possible) que le contenu du fichier.

dans mon model:
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();
}


l'erreur est la suivante:PHP warning

PDOStatement::execute(): MySQL server has gone away

Avez-vous idée de ce que ce passe?
0

#2 User is offline   Raoul 

  • Master Member
  • PipPipPipPip
  • Yii
  • Group: Members
  • Posts: 644
  • Joined: 29-November 08
  • Location:Paris, France

Posted 27 March 2013 - 01:30 PM

Salut Silvia,
cette erreur peut être due au fait qu'une requête à la base de donnée à pris trop de temps ... enfin, c'est ce qui est dit ici.
A priori je dirai que c'est à cause de de l'insertion d'une 'image trop "lourde" dans la table. Personnellement je ne pense pas que sauvegarder une image dans un BDD soit une bonne chose. Autant laisser les images dans un répertoire quelconque, et insérer les infos requises pour accéder au fichier (par exemple le nom du fichier).
ciao
B)
0

#3 User is offline   Silvia 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 3
  • Joined: 08-February 13

Posted 12 April 2013 - 07:42 AM

merci :) j'ai résolu le problème... au lieu de guarder le fichier dans la base de donnée, je garde le nom du fichier. Le fichier étant guarder dans mon système de fichier :)
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users