Probleme D'upload

slt je voudrais pourvoir uploader un fichier.apres avoir utiliser plusieurs script d’uploade sans success je 'trouver ce tuto qui dis comment uploader depuis un model sur yii framework ici

mais le probleme est que je ne veux pas creer un formulaire juste pour l’uploade je voulais juste l’utiliser dans un champ alors j’ai essaye de modifier mon formulaire de la sorte :


//dans mon form

<div class="form">


<?php $form=$this->beginWidget('CActiveForm', array(

	'id'=>'ticket-form',

	'enableAjaxValidation'=>false,

)); ?>


	<?php echo $form->errorSummary($model); ?>

  		  


		 

	

	<div class="row">

                <?php echo CHtml::activeFileField($model, 'files'); ?>


		<?php echo $form->labelEx($model,'Duration'); ?>

		<?php echo $form->textField($model,'Duration'); ?>

		<?php echo $form->error($model,'Duration'); ?>

	

       

	<div class="row buttons">

		<?php echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save'); ?>

	


<?php $this->endWidget(); ?>


</div><!-- form -->


// ma vue 

<div class="view">


	<b><?php echo CHtml::encode($data->getAttributeLabel('TicketId')); ?>:</b>

	<?php echo CHtml::link(CHtml::encode($data->TicketId), array('view', 'id'=>$data->TicketId)); ?>

	<br />

 

	    	<b><?php echo CHtml::encode($data->getAttributeLabel('Fichier')); ?>:</b>

			<?php echo CHtml::link(CHtml::encode($data->files), array('view', 'id'=>$data->files)); ?>

			<br />

	

	<b><?php echo CHtml::encode($data->getAttributeLabel('Duration')); ?>:</b>

	<?php echo CHtml::encode($data->Duration); ?>

	<br />


</div>


//mon controlleur 

public function actionCreate()

	{

		$model=new Ticket;


		// Uncomment the following line if AJAX validation is needed

		// $this->performAjaxValidation($model);


		if(isset($_POST['Ticket']))

		{

		

		    $Ticket = new Ticket();

		    $model->attributes=$_POST['Ticket'];

			$model->files=CUploadedFile::getInstance($model,'files');


			$model->files->saveAs('Folder CSV/');


		   // if($model->save())

			$this->redirect(array('view','id'=>$model->TicketId));	

		

	}



pour ma part tout parrais bon mais j’ai une erreur qui m’indique que la function SaveAs au niveau de


$model->files->saveAs('Folder CSV/'); 

n’est pas une fonction de l’objet pourquoi puisqu’elle derrive du CUploadedFile. alors ou ce situe mon erreur comme realiser cette uploader avec yii framework et la sauvegarder dans mon Folder CSV. Merci encore toute aide,assistance ou conseil serais la bien venus. A+

Salut Costa,

essaye de passer un nom de fichier à la méthode saveAs(), et non pas un nom de répertoire (c’est peut être là le problème).

Sinon, pourrais-tu poster le code de ton modèle ?

Tu peux aussi afficher la valeur de $model->files :


CVarDumper::dumpAsString($model->files);

…cela te permettra de voir ce qui a été mit dans $files

8)

slt,

pour sauvegarder le nom de ton fichier Uploadé dans l’attribut files




$file = CUploadedFile::getInstance($model,'files');

$model->files = $file->getName();

et puis pour enregistrer ton fichier uploadé sur le serveur dans le rep /uploads/


if (!empty($file))                            

           $file->saveAs(Yii::getPathOfAlias('webroot') . '/uploads/' . $model->files);

après tu peux sauver ton ActiveRecord


$model->save();

bon courage j’espère que cela va t’aider