CI开启分页参数传递

需要在初始化Pagination时候初始化  page_query_string参数

代码示例:

 

$this- db- insert_id() returns 0

Hence $this->db->insert_id()

The insert ID number when performing database inserts.

And there is no auto incremented id in your database

TO check data is insert or not use

Displays the number of affected rows, when doing “write” type queries (insert, update, etc.).

Models

Read http://www.codeigniter.com/user_guide/database/helpers.html

React Native Android使用fetch与服务器通讯无法读取Authorization

场景:

iOS使用fetch和curl 发送信息时候设置headers: {Authorization: token},

服务器都可以返回正确验证信息。

但是Android下使用fetch就不可以。

时间不允许,就放弃琢磨java代码了,所以另辟蹊径:服务器直接返回客户端提交的header信息,对比一下。

有大小写的区别?

服务器君没有大小写一视同仁么?

他是这么读取这个header信息的(忽略异常验证)

想了想服务器系统是CentOS,对大小写相当敏感,于是做进一步验证:

鉴于curl正常工作,那么设置curl的headers的Authorization为全小写authorization。

然后清理下服务器缓存,再次发送请求,嗯,服务器拒绝了我的请求。

到这里可以确定是服务器在度数组时候,键的大小写影响了结果。

问题找到了就好解决了:

祭出函数array_change_key_case 可参考

功能:返回键为大写或小写的数组,或者如果 array 非数组则返回 FALSE。

函数原型:array array_change_key_case ( array $input [, int $case = CASE_LOWER ] )

用下面的方式读取headers信息即可。

  • 另外一种方式

php的自定义头信息都可以使用$_SERVER[‘HTTP_*’]来获取,如header(‘test: wzhtest’);获取的时候,我们可以使用$_SERVER[‘HTTP_TEST’]来获取。

  • 这里说明下。Authorization可能是个例外。nginx没问题,但是Apache下可能会出现一个问题。那就是我们使用$_SERVER[‘HTTP_AUTHORIZATION’]可能就获取不到值。

解决办法可参考:

http://symfony.com/doc/current/setup/web_server_configuration.html#using-mod-proxy-fcgi-with-apache-2-4

 

php接收curl发送的post数据

curl发送数据(POST)

php接受数据

 

windows下curl的安装和简单使用

curl是利用URL语法在命令行方式下工作的开源文件传输工具。它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。
一.windows下curl的安装
1.      到这里https://curl.haxx.se/download/trash下载文件curl-7.31.1-win32-ssl.zip,如果不需要使用ssl的话,可以直接下载curl-7.31.1-win32-nossl.zip,并且直接就可以使用。为了便于以后请求https格式的网址,我们最好使用带ssl功能的。

2.      在Windows下为了使用带ssl的curl命令,我们得安装OpenSSL,到http://www.slproweb.com/products/Win32OpenSSL.html这里下载Win32OpenSSL_Light-1_0_1h.exe,安装即可。

3.      接下来打开cmd,切换到curl目录下,就可以直接使用curl命令了。

二.curl基本命令行
1.查看网页源码,以www.sina.com为例

要想保存这个文件就使用
curl -o [文件名] www.sina.com
2.只显示头信息

想同时显示头信息和源码就使用
curl -i www.sina.com 结果如图

3.显示通信过程(ip地址,端口号)

想看更详细的就使用
curl –trace output.txt www.sina.com
打开output.txt文件就有相关信息

4.发送表单信息
发送表单信息有GET和POST两种方法。GET方法相对简单,只要把数据附在网址后面就行。
curl example.com/form.cgi?data=xxx
POST方法必须把数据和网址分开,curl就要用到–data参数。
curl –data “data=xxx” example.com/form.cgi

5.文件上传
假如我们下了个这样的表单
<form method=”POST” enctype=’multipart/form-data’ action=”upload.cgi”>
<input type=file name=upload>
<input type=submit name=press value=”OK”>
</form>
就可以使用
curl –form upload=@localfilename –form press=OK [URL]

6.文件下载
假如下载一张图片


想要按照服务器上的文件名自动存在本地只要把小写的o改成大写的O,去掉自己加的文件名就行了
如果下载中途掉线了,还可以使用命令续传
curl -c -O http://cgi2.tky.3wb.ne.jp/~zzh/screen1.JPG

7.User Agent字段
这个字段是用来表示客户端的设备信息。服务器有时会根据这个字段,针对不同设备,返回不同格式的网页,比如手机版和桌面版。
curl –user-agent “[User Agent]” [URL]

8.cookie
使用–cookie参数,可以让curl发送cookie。
curl –cookie “name=xxx” www.example.com

9.增加头信息
有时需要在http request之中,自行增加一个头信息。–header参数就可以起到这个作用。
curl –header “Content-Type:application/json” http://example.com