我希望单个页面(例如:domain.sg/contact)是可编辑的,但我认为创建一个新的数据库表、一个模型、一个控制器和视图并不是解决这个原始问题的最佳实践。你有什么建议?
问问题
1159 次
1 回答
0
如果您希望在不使用数据库的情况下编辑文件,则需要在页面或其他地方使用文件系统功能以及编辑表单。
在您的编辑表单的页面控制器中:
public function edit_contact()
{
//retrieve file's contents and output to view
$file = fopen('/path/to/contact.ctp', w);
$file_contents = file_get_contents($file);
$this->set('contents', $file_contents);
if($this->request->is('post'))
{
fwrite($file, $this->request->data['contents']);
}
fclose($file);
}
查看文件:
//edit_contact.ctp
echo $this->Form->create('Edit Contact);
echo $this->Form->input('Content', array('type' => 'textarea', 'value' => $contents));
echo $this->Form->end('Update File');
然后创建您希望可编辑的contact.ctp。
警告:此表单不进行验证,并允许用户输入他们想要的任何内容,包括可能对您或其他访问者使用的恶意代码。
于 2012-08-05T11:22:25.810 回答