gpt4 book ai didi

cakephp - 获取 CakePHP 中的基本目录

转载 作者:行者123 更新时间:2023-12-02 11:59:24 24 4
gpt4 key购买 nike

我正在开发一个 CakePHP 项目。在这里,我必须上传一个文件,然后将该文件移动到特定文件夹。上传工作正常,但我无法将其移动到我想要的文件夹。 CakePHP中有没有任何函数或东西可以移动上传的文件?

目前我正在使用 PHP 的核心函数 move_uploaded_file()。此函数需要源和目标的绝对路径,而不是 http://localhost/....,我尝试过,但它不起作用。那么,您知道如何获取应用程序的基本目录/绝对路径吗?这就像:C://wamp/www/project_folder/......

最佳答案

在 Controller 中添加功能

public function add() {
$this->Model->create();
if ($this->request->is('post')) {
if(!empty($this->data['Model']['image']['name']))
{
$file=$this->data['Model']['image'];
$ary_ext=array('jpg','jpeg','gif','png');
$ext = substr(strtolower(strrchr($file['name'], '.')), 1); //get the extension
if(in_array($ext, $ary_ext))
{
move_uploaded_file($file['tmp_name'], WWW_ROOT . 'img/uploads/posts/' . $file['name']);
$this->request->data['Model']['image'] = $file['name'];
}
}
if ($this->Model->save($this->request->data))
{
$this->Session->setFlash('Your record has been saved.');
$this->redirect(array('action' => 'index'));
}
else
{
$this->Session->setFlash('Unable to add your record.');
}
}
}


File control in add.ctp file

echo $this->Form->input('image',array('type'=>'file'));


you can define constant in index.php file like below
/**
* Get Cake's root directory
*/
define('APP_DIR', 'app');
define('DS', DIRECTORY_SEPARATOR);
define('ROOT', dirname(__FILE__));
define('WEBROOT_DIR', 'webroot');
define('WWW_ROOT', ROOT . DS . APP_DIR . DS . WEBROOT_DIR . DS);

关于cakephp - 获取 CakePHP 中的基本目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18063692/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com