CakePHP 上传插件:无需表单的程序化文件检索
CakePHP Upload Plugin: Programmatic File Retrieval without a Form
我用CakePHP-Upload plugin, now need to use the upload without form, following this example: Programmatic File Retrieval without a Form
我上传的所有内容都存储在关联模型中,称为附件。
所以我在保存文章的时候,同时保存了Attachmen模型中的图片。
插件文档建议如下:
<?php
$this->Article->set(array('file' => $image_path)); // ?????
$this->Article->save();
?>
我在服务器上有一个更大的图像集合,以前是通过 Joomla CMS 上传的,现在我将数据迁移到基于 CakePHP 框架构建的自定义 CMS。 我需要拍摄所有这些照片并通过此插件再次上传。
如何根据我的需要正确使用这个插件,我尝试把路径放到本地图片,但是上传不成功???
编辑
$image_path = WWW_ROOT . 'img' . DS . 'attachment' . DS . '59'.DS.'hpim4799.jpg';
debug($image_path);
'C:\xampp\htdocs\portal\webroot\img\attachment\hpim4799.jpg'
不保存记录不创建新图像。
注意,通过 HTML 表单上传效果很好,我使用 windows 7 和 xampp 服务器。
编辑 2 / 解决方案
图像路径 必须有效 url 如“http://localhost/portal/img/attachment/59/hpim4799.jpg”
$image_path = Router::url('/', true) . 'img/attachment/59/hpim4799.jpg';
谢谢。
能告诉我变量$image_url
的内容是什么吗?文档说您可以通过表单添加文件,也可以通过编程方式添加文件。如果这样做,请使用 $image_url
作为图像的路径。如果你有像 Attachment
这样的关联模型,你应该使用:
<?php
$this->Article->set(array('Attachment.file' => $image_path)); // path + file to file
$this->Article->save();
?>
经过数小时的搜索解决方案和对行为代码的详细检查,我终于找到了它。
因为行为使用 php FILTER_VALIDATE_URL 过滤器,路径必须是有效的 URL。这是一个例子:
<?php
$image_path = Router::url('/', true) . 'img/attachment/59/hpim4799.jpg';
// return http://localhost/portal/img/attachment/59/hpim4799.jpg
$this->Article->Attachment->set(array('file' => $image_path));
$this->Article->Attachment->save();
?>
我用CakePHP-Upload plugin, now need to use the upload without form, following this example: Programmatic File Retrieval without a Form
我上传的所有内容都存储在关联模型中,称为附件。 所以我在保存文章的时候,同时保存了Attachmen模型中的图片。
插件文档建议如下:
<?php
$this->Article->set(array('file' => $image_path)); // ?????
$this->Article->save();
?>
我在服务器上有一个更大的图像集合,以前是通过 Joomla CMS 上传的,现在我将数据迁移到基于 CakePHP 框架构建的自定义 CMS。 我需要拍摄所有这些照片并通过此插件再次上传。
如何根据我的需要正确使用这个插件,我尝试把路径放到本地图片,但是上传不成功???
编辑
$image_path = WWW_ROOT . 'img' . DS . 'attachment' . DS . '59'.DS.'hpim4799.jpg';
debug($image_path);
'C:\xampp\htdocs\portal\webroot\img\attachment\hpim4799.jpg'
不保存记录不创建新图像。 注意,通过 HTML 表单上传效果很好,我使用 windows 7 和 xampp 服务器。
编辑 2 / 解决方案
图像路径 必须有效 url 如“http://localhost/portal/img/attachment/59/hpim4799.jpg”
$image_path = Router::url('/', true) . 'img/attachment/59/hpim4799.jpg';
谢谢。
能告诉我变量$image_url
的内容是什么吗?文档说您可以通过表单添加文件,也可以通过编程方式添加文件。如果这样做,请使用 $image_url
作为图像的路径。如果你有像 Attachment
这样的关联模型,你应该使用:
<?php
$this->Article->set(array('Attachment.file' => $image_path)); // path + file to file
$this->Article->save();
?>
经过数小时的搜索解决方案和对行为代码的详细检查,我终于找到了它。
因为行为使用 php FILTER_VALIDATE_URL 过滤器,路径必须是有效的 URL。这是一个例子:
<?php
$image_path = Router::url('/', true) . 'img/attachment/59/hpim4799.jpg';
// return http://localhost/portal/img/attachment/59/hpim4799.jpg
$this->Article->Attachment->set(array('file' => $image_path));
$this->Article->Attachment->save();
?>