CodeIgniter上传图片成功的全部过程分享
长沙网络推广分享:CodeIgniter上传图片成功的全攻略
对于需要在CMS中上传图片的朋友们,CodeIgniter的上传类是一个很好的选择。我在实践过程中遇到了一些问题,特此分享给大家,希望有助于大家顺利完成图片上传。
我们需要创建一个表单来上传图片。表单的代码如下:
```php
echo form_open_multipart('picture/upload');
echo form_upload('userfile'); // 注意这里的表单字段名为userfile
echo form_close();
```
在Controller中,我们创建一个名为upload的函数来处理图片上传。以下是关键步骤和需要注意的地方:
```php
function upload() {
// 配置上传路径,相对于index.php,即入口文件
$config['upload_path'] = './uploads/';
// 确保路径正确,否则会出现错误 "The upload path does not appear to be valid."
// 设置允许上传的文件类型,顺序很重要!这里解决了因为文件类型顺序导致的错误问题。
$config['allowed_types'] = 'zip|gz|png|gif|jpg'; // 正确顺序:先非图片后图片,避免中文名问题导致的上传失败。如果文件名是中文,可能会出现 "A problem was encountered while attempting to move the uploaded file to the final destination." 错误。可以尝试修改文件名来解决这个问题。同时设置文件大小、宽度和高度限制。
$config['max_size'] = '1024'; // 设置最大文件大小(以KB为单位)
$config['max_width'] = '1024'; // 设置最大宽度(以像素为单位)
$config['max_height'] = '768'; // 设置最大高度(以像素为单位)
// 生成一个基于时间戳的文件名,避免使用原始文件名,避免冲突和安全问题。
$config['file_name'] = time();
// 加载上传库并设置配置信息
$this->load->library('upload', $config);
// 执行上传操作,并处理结果。如果上传失败,则显示错误信息;如果成功,则显示上传的文件信息。
if(!$this->upload->do_upload()) {
echo $this->upload->display_errors();
} else {
$data['upload_data']=$this->upload->data(); // 获取文件信息
$img=$data['upload_data']['file_name']; // 获取上传的文件名
echo $img."
"; // 显示文件名
foreach($data['upload_data'] as $item => $value){
echo $item.":".$value."
"; // 显示其他文件信息
}
}
}
```
以上就是在CodeIgniter中成功上传图片的全过程分享。希望对正在做CMS的朋友们有所帮助。如果有任何问题或需要进一步了解的地方,欢迎随时交流。
编程语言
- CodeIgniter上传图片成功的全部过程分享
- jQuery实现的记住帐号密码功能完整示例
- jQuery中-first选择器用法实例
- 浅谈vue-lazyload实现的详细过程
- 详解Angular中通过$location获取地址栏的参数
- 自定义刻度jQuery进度条及插件
- 总结JavaScript在IE9之前版本中内存泄露问题
- ashx中使用session的方法(获取session值)
- php使用Jpgraph绘制柱形图的方法
- Angularjs 实现动态添加控件功能
- PHP闭包(Closure)使用详解
- 解决VUE框架 导致绑定事件的阻止冒泡失效问题
- Vue.js实战之组件的进阶
- 简单实现的JQuery文本框水印插件
- jQuery实现使用sort方法对json数据排序的方法
- 基于JavaScript实现自动更新倒计时效果