【发布时间】:2016-08-30 17:16:54
【问题描述】:
我想根据我的 idEvenememt 自动创建一个文件夹,并在此文件夹中上传许多图像 我的 ImageevenementsController
public function add($id) {
if ($this->request->is('post')) {
$this->Imageevenement->create();
$this->request->data['Imageevenement']['idEvenement'] = $id;
$data=$this->request->data;
$dir = IMAGES.$id;
if(!file_exists($dir))
mkdir($dir,0777);
$f = explode('.',$data['Imageevenement']['file']['name']);
$ext = '.'.end($f);
$filename = Inflector::slug(implode('.',array_slice($f,0,-1)),'-');
//sauvgarder eb bdd
$success = $this->Imageevenement->save(array(
'name' => $data['Imageevenement']['name'],
'url' => DS.$id.'/'.$filename.$ext
));
if($success){
move_uploaded_file($data['Imageevenement']['file'] ['tmp_name'],$dir.DS.$filename.$ext);
}else{
$this ->Session->setFlash("L'image n'est pas en bonne format");}
}
if ($this->Imageevenement->save($this->request->data)) {
$this->Flash->success(__('The image has been saved.'));
return $this->redirect(array('action' => 'index' , 'controller'=>'evenements'));
}
}
在我看来
<?php if (!empty($evenement['Imageevenement'])): ?>
<table class="table table-bordered" >
<tr><th> Nom</th>
<th> Image</th>
<th> Actions</th>
</tr>
<?php foreach ($evenement['Imageevenement']as $imageevenement): ?>
<tr>
<td><?php echo $imageevenement['name']; ?></td>
<td><?php echo $imageevenement['url']; ?></td>
<td class="actions">
<?php echo $this->Html->link(__('View'), array('action' => 'view', 'controller'=>'imageevenements', $imageevenement['idImageEvenement'])); ?>
<?php echo $this->Html->link(__('Edit'), array('action' => 'edit', 'controller'=>'imageevenements',$imageevenement['idImageEvenement'])); ?>
<?php echo $this->Form->postLink(__('Delete'), array('action' => 'delete','controller'=>'imageevenements', $imageevenement['idImageEvenement']), array('confirm' => __('Are you sure you want to delete # %s?', $imageevenement['idImageEvenement']))); ?>
</td>
</tr>
文件夹的创建路径以 \ 开头,例如数据库中的 \1/paris.png 图像是在文件夹中创建的,但我无法显示它们。那么我怎样才能删除这个\?为什么它在视图中什么也没显示?我应该怎么做才能创建文件夹并在其中上传图像并在视图中显示它们?
【问题讨论】:
标签: php image upload cakephp-2.0 directory