PHP 使用 fgetcsv 读取 csv 文件内容中文乱码

使用 php 自带的 fgetcsv 读取 csv 文件内容,出现乱码。这是因为 csv 文件内容格式不是 utf 的,所以在读取和写入数据库时就会出现乱码,可以用 iconv 函数转换解决。修复后的 demo 如下(laravel 获取文件):$file = Input::file('xls_file_name'); $fp = fopen($file->getRealPath(), 'r

laravel 路由注入的模型对象为空,获取不到数据

框架版本 : laravel 5.2问题描述需要对已存在的模型额外做一个添加筛选条件的列表,将之前的控制器、路由以及涉及到路由跳转的模型都复制了一份。# 用户管理 Route::resource('user', 'UserController', ['except' => ['show']]); # 增加用户角色为代理商的路由 Route::resource('agent', 'AgentC

laravel DataTables 查询关键词匹配关联表字段

Laravel 的 DataTables 库 可以在与前端简单交互,快速构建后台列表页面,包括所有字段的查询、排序等功能。这边因为刚接触这个 DataTables 库,只知道简单的格式化使用,在遇见需要查询关联表的字段时遇到了困难。正常的调用(摘自 github readme 示例):return datatables()->of(User::query())->toJson();,现

Laravel 解决 ajax 跨域问题 2 - 带头(Authorization)跨域

之前整理过 Laravel 通过中间件解决 ajax 跨域问题 教程,但最近开发一个公众号领红包的小功能依然翻了车。当前的允许跨域中间件 AccessControlAllowOrigin.php /** * @param $request * @param Closure $next * @return mixed * @throws ApiExcep

laravel paginate() 与 makeHidden() 一起使用

模型里使用了关联对象做计算并得到 append 属性,所以默认情况下,对象会自动携带关联对象。主要有两个问题:大部分时候使用模型真的只是想取一个简单的列表即便需要 append 属性,但关联对象本身或者关联对象的关联对象并不需要返回增加的属性默认是取不到的,需要添加到 append 中来来返回。而当增加属性不需要时,可以使用到 makeHidden() 主动隐藏掉。对应的还有 hidden 以及

Laravel 获取请求头部信息及 JSON 格式数据

使用版本 Laravel 5.2获取头部信息$request->header('authorization')直接使用 $request->header() 获取所有参数,但每个参数值都是数组格式 ['xxx']。获取 JSON 格式数据$request->input()相当于 $data = file_get_content('php://input') + json_deco

Laravel JWT token 过期时长设置

laravel 5.2 版本修改 JWT 配置文件:config/jwt.php... 'ttl' => env('JWT_TTL', 60), ...单位为分钟,默认为 1 小时。设置为 null 后可以保持 token 永不过期。设置方法首先要确定 .env 文件里是否定义了常量 JWT_TTL,若未定义可以直接修改,比如 60*24 ,24 小时有效;若定义了,则修改 .env 里面的

Laravel 项目优先使用到的第三方库

Intervention Image - 图片处理与操作库为什么不用 PHP 自带的 GD 图片处理扩展库?GD 库本身提供了大部分图片处理的函数,但使用前都会将其封装一个类,来处理业务方面的需求。网上有很多这样的 GD 库封装案例,但在切换框架之后,对于使用自定义的库引入和使用适应方面需要花费时间,且这样封装本身也缺少维护,容易造成代码不兼容的问题。Intervention Image 是在 G

Laravel 中 bcrypt 助手方法解析

因为发现密码重新生成(密码值不变)时,返回的 hash 值都会变化,而解密却都能够成功,所以对 Laravel 自带的这个获取加密 hash 值的方法突然比较好奇。\vendor\laravel\framework\src\Illuminate\Foundation\helpers.phpif (! function_exists('bcrypt')) { /** * Hash

laravel 开启 sql 打印

DB::enableQueryLog();//放在需要打印的查询前 User::all(); return DB::getQueryLog();//放在查询的后可以用 dd 直接输出:dd(DB::getQueryLog());