Ti használtatok már file feltöltést yii-ben?
Én találtam egy java file feltöltőt ami működik is meg minden, csak hát nekem nem java-s kellene.
Inkább valami flash-es, vagy simán javascript kód alapú.
http://www.yiiframew...-java-uploader/
Page 1 of 1
File feltöltés Yii-ben
#2
Posted 28 March 2012 - 09:18 AM
sbslord, on 27 March 2012 - 07:44 PM, said:
Ti használtatok már file feltöltést yii-ben?
Én találtam egy java file feltöltőt ami működik is meg minden, csak hát nekem nem java-s kellene.
Inkább valami flash-es, vagy simán javascript kód alapú.
http://www.yiiframew...-java-uploader/
Én találtam egy java file feltöltőt ami működik is meg minden, csak hát nekem nem java-s kellene.
Inkább valami flash-es, vagy simán javascript kód alapú.
http://www.yiiframew...-java-uploader/
Mi lenne a cél? Egyszerre több gondolom én. Itt van ez, ez egy alap feltöltés. Vagy azt csinálod, hogy ajax-al ezt hivogatod, vagy megoldod úgy, hogy tömbbként végigfut a feltöltésen egy foreach ciklussal. A view mezőben pedig a name végére oda rakod, hogy [].
Pl Items['media'][], amikor meg feldolgozod, akkor meg $_POST['Items']['media'][].
#3
Posted 04 April 2012 - 02:31 AM
Én az uploadify flash alapú ajaxos feltöltőt részesítem előnyben.
A kiterjesztés itt letőlthető a Yii-hez.
http://www.yiiframew...sion/uploadify/
A kiterjesztés itt letőlthető a Yii-hez.
http://www.yiiframew...sion/uploadify/
#4
Posted 11 July 2012 - 03:52 AM
Sziasztok
Egyűrlaphoz akarok képfeltöltési lehetőséget adni. A controller azonban hibát dob:
Fatal error: Call to a member function saveAs() on a non-object in D:\xampp\htdocs\hirek2\protected\controllers\PostController.php on line 80
public function actionCreate()
{
$model=new Post;
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if(isset($_POST['Post']))
{
$rnd = rand (0,9999);
$model->attributes=$_POST['Post'];
$uploadedFile = CUploadedFile::getInstance ($model, 'image');
$fileName = "{$rnd}-{$uploadedFile}";
$model->image = $fileName;
if($model->save())
{
$uploadedFile->saveAs(Yii::app()->basePath.'/../post/'.$model->image);
$this->redirect(array('view','id'=>$model->id));
}
}
$this->render('create',array(
'model'=>$model,
));
}
Így néz ki a rules () függvény, amibe beleköt. Azonban ha kikommentezem a 80.sort, akkor lefut, de nem tölti fel a képet. Ötlet?
Egyűrlaphoz akarok képfeltöltési lehetőséget adni. A controller azonban hibát dob:
Fatal error: Call to a member function saveAs() on a non-object in D:\xampp\htdocs\hirek2\protected\controllers\PostController.php on line 80
public function actionCreate()
{
$model=new Post;
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if(isset($_POST['Post']))
{
$rnd = rand (0,9999);
$model->attributes=$_POST['Post'];
$uploadedFile = CUploadedFile::getInstance ($model, 'image');
$fileName = "{$rnd}-{$uploadedFile}";
$model->image = $fileName;
if($model->save())
{
$uploadedFile->saveAs(Yii::app()->basePath.'/../post/'.$model->image);
$this->redirect(array('view','id'=>$model->id));
}
}
$this->render('create',array(
'model'=>$model,
));
}
Így néz ki a rules () függvény, amibe beleköt. Azonban ha kikommentezem a 80.sort, akkor lefut, de nem tölti fel a képet. Ötlet?
#5
Posted 11 July 2012 - 05:14 AM
A CUploadedFile::getInstance() nyilván NULL értéket ad vissza, vagyis nincs fájl feltöltve. Az első dolog, aminek utánanéznék, az az enctype="multipart/form-data" megléte a <form> elemben. Én aránylag rendszeresen megfeledkezem róla
#6
Posted 11 July 2012 - 08:21 AM
az is hiba volt. de a fájl helyébe is belekötött + a \ és / közt is különbséget tett, de sikerült megoldani.
#7
Posted 25 October 2012 - 03:39 PM
phtamas, on 11 July 2012 - 05:14 AM, said:
A CUploadedFile::getInstance() nyilván NULL értéket ad vissza, vagyis nincs fájl feltöltve. Az első dolog, aminek utánanéznék, az az enctype="multipart/form-data" megléte a <form> elemben. Én aránylag rendszeresen megfeledkezem róla 
Még annyival egészíteném ki ezt a bejegyzést, hogy ha minden jó és semmilyen üzenetet nem kaptok és egyszerűen nem történik semmi, akkor a php konfig upload_max_filesize és post_max_size limitet a feltöltendő fájl túllépi. Ez apache specifikus dolog. Lekezelése a kontrolleren keresztül történhet a yii-ben, mivel ilyen esetben a POST és a FILES is eldobódik. már csak a $_SERVER változón keresztül lehet trükközni..
További infókat itt találtok.
http://php.net/manua...file-upload.php
if ($_SERVER['REQUEST_METHOD'] == 'POST' && empty($_POST) && $_SERVER['CONTENT_LENGTH'] > 0) {
throw new Exception(sprintf('The server was unable to handle that much POST data (%s bytes) due to its current configuration', $_SERVER['CONTENT_LENGTH']));
}
Share this topic:
Page 1 of 1

Help















