- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我如何在codeigniter中实现这个? Uploadify(Jquery)
我的意思是 Controller 是什么?进度如何跟踪?如果用户没有安装flashplayer会发生什么?
我如何检查进度?有人用 codeigniter 尝试过吗?
最佳答案
我已经在 codeigniter 中成功实现了 uploadify,如下所示:
在标题 View 中:
<script type="text/javascript" src="<?php echo base_url()?>resources/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" media="all" href="<?php echo base_url()?>resources/uploadify/uploadify.css" />
<script type="text/javascript" src="<?php echo base_url()?>resources/uploadify/swfobject.js"></script>
<script type="text/javascript" src="<?php echo base_url()?>resources/uploadify/jquery.uploadify.v2.1.0.min.js"></script>
在页面 View 中:
<input id="fileInput" name="fileInput" type="file" />
<script type="text/javascript">
$(document).ready(function() {
$("#fileInput").uploadify({
'uploader' : '<?php echo base_url()?>resources/uploadify/uploadify.swf',
'script' : '<?php echo site_url()?>/managerupload/vehicle_imageUpload',
'cancelImg' : '<?php echo base_url()?>resources/uploadify/cancel.png',
'fileExt' : '*.jpg;*.jpeg;*.png;*.gif',
'folder' : '/nonexistant',
'auto' : true,
'multi' : false,
'scriptData' : {'vehicleID': '<?php echo $vehicleID?>'},
'onComplete' : function() {vImg_reload('<?php echo $vehicleID?>');}
}); });
</script>
scriptData 配置选项通过 POST 传递。
注意:onComplete 配置选项允许您执行函数;在本例中,它是一个 Ajax 调用来更新当前车辆的图像;这可能与您相关,也可能不相关。如果是的话请告诉我,我会发布它。事实上,我不想把水搅浑。
在 Controller 中:
function vehicle_imageUpload(){
$this->_checklogin();
$file_dir = "vehicle_images/";
$config['upload_path'] = './vehicle_images/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '1000000';
$config['overwrite'] = TRUE;
$config['remove_spaces'] = TRUE;
$config['encrypt_name'] = FALSE;
$this->load->library('upload', $config);
if(! $this->upload->do_upload('Filedata')){
echo $this->upload->display_errors();
}else{
$errors = $this->upload->display_errors();
$upload_info = $this->upload->data();
// Insert file information into database
$insert_data = array(
'vImg_vehicle_id_fk' => $this->input->post('vehicleID'),
'vImg_filename' => $upload_info['file_name'],
'vImg_filepath' => $upload_info['file_path'],
'vImg_primary' => 1,
'vImg_directory' => $file_dir
);
$this->db->insert('vehicle_images', $insert_data);
}
}
这是一个使用 CI 上传类的标准上传处理程序;这里我们使用传递的 POST 项“vehicleID”将图像的记录插入到数据库中。
与所有 Flash 内容一样,您必须解决 Flash Cookie Bug 问题。 。有两个选项,通过 Uploadify 的“scriptData”数组传递 session ID(如上所述),并使用现有 session ID 从上传 Controller 重新加载 session 。另一种选择是不让 Codeigniter 与 session 用户代理匹配。
在application/config.php
$config['sess_match_useragent'] = FALSE;
这可以防止 session 类在看到不属于 session 的用户代理时破坏 session 。
如果您担心这样做的安全隐患,您只需要记住,用户代理很容易伪造,只要您现有的安全性得到妥善实现,您就不会有任何问题。
关于php - 使用codeigniter实现jquery上传插件 'uploadify',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3173681/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!