我正在使用 CakePHP 的上传插件,我设法修改它以编写路径、调整图像大小并保存图像。但是现在我想将一个 pId 变量(一个 int)传递给我保存图像的函数。
它是这样工作的: 1)有一个 addpictures.ctp 有以下内容:
$result = $this->Upload->upload('Projects/'.$projects['Project']['id'], $this->Form->field['Project.id'], $projects['Project']['id']);
echo $result;
这很好用。(请注意,我添加了第三个参数,即项目 ID。) 2) 被调用的函数如下所示:
public function upload($model, $id, $pId){
$result = $this->edit($model, $id, $pId);
return $result;
}
这是在 Pluging/AjaxMultiUpload/View/Helper/UploadHelper.php 里面
3) 现在编辑功能(在同一个文件中)如下所示:
public function edit ($model, $id, $pId) {
require_once (ROOT . DS . APP_DIR . "/Plugin/AjaxMultiUpload/Config/bootstrap.php");
$dir = Configure::read('AMU.directory');
if (strlen($dir) < 1) {
$dir = "files";
}
$webroot = Router::url("/") . "ajax_multi_upload";
// Replace / with underscores for Ajax controller
$lastDir = str_replace ("/", "___",
$this->last_dir ($model, $id));
$str = <<<END
<br /><br />
<link rel="stylesheet" type="text/css" href="$webroot/css/fileuploader.css" />
<script src="$webroot/js/fileuploader.js" type="text/javascript"></script>
<div id="AjaxMultiUpload">
<noscript>
<p>Please enable JavaScript to use file uploader.</p>
</noscript>
</div>
<script src="$webroot/js/fileuploader.js" type="text/javascript"></script>
<script>
function createUploader(){
var uploader = new qq.FileUploader({
element: document.getElementById('AjaxMultiUpload'),
action: '$webroot/uploads/upload/$lastDir/',
pid: '$pId',
debug: true
});
}
window.onload = createUploader;
</script>
END;
$str .= $this->view ($model, $id, true);
return $str;
}
现在这是我添加以下内容的地方:
pid: '$pId',
正如您所看到的实例的创建。现在这个脚本是魔法发生的地方,也是我失去概览的地方。剧本真的很长,对不起,但我真的不知道该怎么办......
http://jsfiddle.net/sbX8a/
在这里的某个地方,我想获得我在 Helper 中传递的 $pId。
我如何实现这一目标?
我完全迷路了,经过 2 天的凝视和纠缠,我迷路了。
问候,伤害。
撞?