У меня проблема с глобальными путями при работе в оболочках.Например, при загрузке моей модели файла в оболочке константа 'APP' недоступна, что приводит к появлению этой строки:
$fileStorePath = APP.'/Data/FileStore/';
Для генерации следующей ошибки:
PHP Parse error: syntax error, unexpected '.', expecting ',' or ';' in
/home/cakedev/public_html/app/Model/File.php on line 15
Яздесь чего-то не хватает?Я не пытаюсь использовать переменную окружения Apache ... Все, что мне нужно, это глобальное приложение.
Вот файл File.php
<?php
App::uses('AppModel', 'Model');
/**
* File model
*
* Store files and retrieve them
*
*/
class File extends AppModel {
public $displayField = 'filename';
public $actsAs = array('Logable','Error');
private $__fileStorePath = APP.'/Data/FileStore/';
function beforeSave($options = array()) {
// Make sure input file exists
if ( !file_exists($this->data['File']['inputfile']) ) {
$this->throwError(__('File [%s] does not exist',$this->data['File']['inputfile']));
return;
}
// Tack on the file info
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$this->data['File']['filename'] = basename($this->data['File']['inputfile']);
$this->data['File']['mime'] = finfo_file($finfo, $this->data['File']['inputfile']);
$this->data['File']['size'] = filesize($this->data['File']['inputfile']);
$this->data['File']['uuid'] = uniqid();
return true;
}
function afterSave($created) {
if ( $created ) {
// Move the file
if ( !rename($this->data['File']['inputfile'],$this->__fileStorePath.$this->data['File']['uuid']) ) {
$this->throwError(__('File [%s] could not be moved',$this->data['File']['input']),500);
return;
}
}
return true;
}
var $belongsTo = array(
'User' => array('className' => 'User',
'foreignKey' => 'user_id',
)
);
}