Я хочу использовать другую переменную из другой функции. ,
Я пытался использовать глобальную переменную, но у меня не получилось.
class UploadController extends Controller
{
public $file;// declare my $file varable
function actionIndex()
{
$dir = Yii::getPathOfAlias('application.uploads');
$uploaded = false;
$model=new Upload();
if(isset($_POST['Upload']))
{
$model->attributes=$_POST['Upload'];
global $file; //use the $file varable
$file=CUploadedFile::getInstance($model,'file');
//get a instance into $file varable.
if($model->validate()){
$uploaded = $file->saveAs($dir.'/'.$file->getName());
}
}
$this->render('index', array(
'model' => $model,
'uploaded' => $uploaded,
'dir' => $dir,
));
}
public function actionDownload(){
var_dump($file);exit; //here printed out a null
$path = Yii::getPathOfAlias('/yiiroot/trackstar/protected/uploads/')."23602414.pdf";
$upload=new Upload();
$upload->downloadFile($path);
}
}
Я объявил $file
переменным и назначенэкземпляр в него в functin actionIndex
.Затем я хочу использовать переменную $file
в функции actionDownload, чтобы распечатать возвращаемое значение $file->getname();
Но я получил нуль, когда я "var_dump ($ file); exit;";в функции actionDownload.Не могли бы вы мне помочь?
Я пытался изменить свой код следующим образом:
function actionIndex () {
$this->file=CUploadedFile::getInstance($model,'file');
...
}
Но в "actionDownload ()".
открытая функция actionDownload () {
var_dump($this);exit;
...}
Когда я "var_dump ($ this); exit;"как и выше, я не могу получить значение «file».Он распечатан, как показано ниже:
E:\projects\yiiroot\trackstar\protected\controllers\UploadController.php:37:
object(UploadController)[10]
public 'file' => null
public 'layout' => string '//layouts/column1' (length=17)
public 'menu' =>
array (size=0)
empty
public 'breadcrumbs' =>
array (size=0)
empty
public 'defaultAction' => string 'index' (length=5)
private '_id' (CController) => string 'upload' (length=6)
private '_action' (CController) =>
object(CInlineAction)[11]
private '_id' (CAction) => string 'download' (length=8)
private '_controller' (CAction) =>
&object(UploadController)[10]
private '_e' (CComponent) => null
private '_m' (CComponent) => null
private '_pageTitle' (CController) => null
private '_cachingStack' (CController) => null
private '_clips' (CController) => null
private '_dynamicOutput' (CController) => null
private '_pageStates' (CController) => null
private '_module' (CController) => null
private '_widgetStack' (CBaseController) =>
array (size=0)
empty
private '_e' (CComponent) => null
private '_m' (CComponent) => null
Не могли бы вы помочь мне.