我的网站上有很多图像,当我尝试对这些图像进行管理员编辑时,我需要每次为所有这些图像输入图像名称,即使我只需要对一个图像进行编辑,因为它是“文件”类型。是否有任何解决方法可以将“文件”类型的图像的默认值填充到输入字段中?我的代码如下:
if ($this->request->is('post') || $this->request->is('put')) {
$mainimg = $this->request->data['Product']['image'];
$img1 = $mainimg['name'];
if ($mainimg['error'] === UPLOAD_ERR_OK){
move_uploaded_file($mainimg['tmp_name'], APP.'webroot'.DS.'img'.DS.$img1);
}
//the uploaded file renamed
$this->request->data['Product']['image'] = $img1;
这是我的 admin_view.ctp
<script type="text/javascript">
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#blah').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
<div class="Products form">
<?php echo $this->Form->create('Product',array('enctype' => 'multipart/form-data'));?>
<legend><?php echo __('Admin Edit Product'); ?></legend>
<fieldset>
<?php
echo $this->Form->input('id');
echo $this->Form->input('name');
echo $this->Form->input('description',array('class'=>'ckeditor'));
echo $this->Form->label('Product Image');
$img=$this->data['Product']['image'];
echo $this->Html->image($img,array('id'=>'blah','width'=>'100px'));?><br>
<div id="dim"><?php echo "Dimension : 170 × 195px";?> </div>
<input type='file' name="data[Product][image]" id="image" onchange='readURL(this);' >
<?php echo $this->Form->end(__('Save'));?>
</fieldset>
</div>
javascript 用于预览所选图像。我可以使用此代码预览默认图像,但无法获取要编辑的图像名称。