thinkphp 的c方法是獲取配置信息的,使用的時(shí)候C('配置信息的名稱')這樣就可以去到配置信息的內(nèi)容了。
創(chuàng)新互聯(lián)為客戶提供專業(yè)的做網(wǎng)站、成都網(wǎng)站制作、程序、域名、空間一條龍服務(wù),提供基于WEB的系統(tǒng)開發(fā). 服務(wù)項(xiàng)目涵蓋了網(wǎng)頁設(shè)計(jì)、網(wǎng)站程序開發(fā)、WEB系統(tǒng)開發(fā)、微信二次開發(fā)、移動(dòng)網(wǎng)站建設(shè)等網(wǎng)站方面業(yè)務(wù)。
本篇文章是對(duì)php中使用異步調(diào)用獲取數(shù)據(jù)時(shí)出現(xiàn)(由于出現(xiàn)錯(cuò)誤c ce e而導(dǎo)致此項(xiàng)操作無法完成)的解決方法進(jìn)行了詳細(xì)的分析介紹 需要的朋友參考下 ?
【詳細(xì)錯(cuò)誤】 由于出現(xiàn)錯(cuò)誤 c ce e 而導(dǎo)致此項(xiàng)操作無法完成
【造成原因】 未指定輸出編碼格式
lishixinzhi/Article/program/PHP/201311/21112
/*server.c*/
#include string.h
#include stdio.h
#include netinet/in.h
#include stdlib.h
#define SERV_PORT 8000
int main()
{
int sockfd,n,servaddr_len,client_len,connfd;
char * server_ip = "127.0.0.1";
char buf[80];
struct sockaddr_in server,client;
sockfd = socket (AF_INET,SOCK_STREAM,0);
bzero(server,sizeof(server));
server.sin_family = AF_INET;
server.sin_addr.s_addr = inet_addr(server_ip);
server.sin_port = htons(SERV_PORT);
servaddr_len = sizeof(server);
client_len=sizeof(client);
bind(sockfd,(struct sockaddr *) server,servaddr_len);
listen(sockfd,6);
while(1)
{
bzero(buf,sizeof(buf));
printf("等待讀取數(shù)據(jù).......\n");
connfd=accept(sockfd,(struct sockaddr *)client,client_len);
n = read(connfd,buf,sizeof(buf));
write(connfd,buf,n);
printf("讀取的數(shù)據(jù)為:%s\n",buf);
}
close(sockfd);
return 0;
}
?php
$server_ip="127.0.0.1";
$port = 8000;
if($_POST['submit'])
{
$buf=trim($_POST['buf']);
$sockfd=socket_create(AF_INET,SOCK_STREAM,SOL_TCP)or die("創(chuàng)建失敗");
socket_connect($sockfd,$server_ip,$port)or die("連接錯(cuò)誤");
socket_write($sockfd,$buf,strlen($buf))or die("寫入錯(cuò)誤");
$a=socket_read($sockfd,80);
echo $a;
$buf="";
socket_close($sockfd);
}
?
form action="tcpclient.php" method="post"
請(qǐng)選則發(fā)送方式:brinput type=text name="buf"
input type=submit name="submit" value="發(fā)送"
/form
tcp方式不能通信解決方法
執(zhí)行:getsebool -a |grep http
查看httpd_can_network_connect -- off 是否為打開狀態(tài)
執(zhí)行:setsebool httpd_can_network_connect on 把httpd_can_network_connect設(shè)置為打開狀態(tài)
tcp方式不能通信解決方法
執(zhí)行:getsebool -a |grep http
查看httpd_can_network_connect -- off 是否為打開狀態(tài)
執(zhí)行:setsebool httpd_can_network_connect on 把httpd_can_network_connect設(shè)置為打開狀態(tài)
ThinkPHP中 C(),D(),S()
1.在具體的Action方法里面,可以用C()對(duì)某些參數(shù)進(jìn)行動(dòng)態(tài)配置,主要指那些還沒有使用的參數(shù)。具體用法如下:
C('參數(shù)名稱'); //獲取已經(jīng)設(shè)置的參數(shù)值
C('參數(shù)名稱','新的參數(shù)值'); //設(shè)置新的值
2.D()函數(shù)的使用:
先定義好模型類,如UserModel,然后就可以用D()函數(shù)對(duì)數(shù)據(jù)進(jìn)行操作了。例如:
先在"你的項(xiàng)目"\Lib\Model下建立一個(gè)名為UserModel.class.php的PHP腳本,內(nèi)容如下:
class UserModel extends Model{}
然后,無需增加任何屬性和方法,就可以進(jìn)行如下操作:
$User = D("User"); //實(shí)例化User對(duì)象,User是你在數(shù)據(jù)庫建立的一個(gè)名為"前綴_user"的數(shù)據(jù)表
也可以用$User = new UserModel()代替,進(jìn)行實(shí)例化對(duì)象的操作。
實(shí)例化之后,就可以對(duì)數(shù)據(jù)進(jìn)行增刪查改等一系列操作了,如:
$User-find(1); //查找主鍵為1的記錄
3.S()函數(shù)的使用:
ThinkPHP把各種緩存方式都抽象成統(tǒng)一的緩存類來調(diào)用,而且ThinkPHP把所有的緩存機(jī)制統(tǒng)一成一個(gè)S方法來進(jìn)行操作,所以在使用
不同的緩存方式的時(shí)候并不需要關(guān)注具體的緩存細(xì)節(jié)。如:
S('data',$Data); //使用data標(biāo)識(shí)緩存$Data數(shù)據(jù)
S('data',$Data,3600); //緩存$Data數(shù)據(jù)3600秒
$Data = S('data'); //獲取緩存數(shù)據(jù)
一、用file_get_contents以get方式獲取內(nèi)容,需要輸入內(nèi)容為:
1、?php
2、$url='';
3、$html=file_get_contents($url);
4、echo$html;
5、?
二、用file_get_contents函數(shù),以post方式獲取url,需要輸入內(nèi)容為
1、?php
2、$url='';
3、$data=array('foo'='bar');
4、$data=http_build_query($data);
5、$opts=array(
6、'http'=array(
7、?'method'='POST',
8、?'header'="Content-type:application/x-www-form-urlencoded\r\n".
9、??????????"Content-Length:".strlen($data)."\r\n",
10、?'content'=$data
11、)
12、);
13、$ctx=stream_context_create($opts);
14、$html=@file_get_contents($url,'',$ctx);
15、?
三、用fopen打開url,以get方式獲取內(nèi)容,需要輸入內(nèi)容為
1、?php
2、$fp=fopen($url,'r');
3、$header=stream_get_meta_data($fp);//獲取信息
4、while(!feof($fp)){
5、$result.=fgets($fp,1024);
6、}
7、echo"urlheader:{$header}br":
8、echo"urlbody:$result";
9、fclose($fp);
10、?
四、用fopen打開url,以post方式獲取內(nèi)容,需要輸入內(nèi)容為
1、?php
2、$data=array('foo2'='bar2','foo3'='bar3');
3、$data=http_build_query($data);
4、$opts=array(
5、'http'=array(
6、'method'='POST',
7、'header'="Content-type:application/x-www-form-urlencoded\r\nCookie:cook1=c3;cook2=c4\r\n".
8、"Content-Length:".strlen($data)."\r\n",
9、'content'=$data
10、)
11、);
12、$context=stream_context_create($opts);
13、$html=fopen(';id2=i4','rb',false,$context);
14、$w=fread($html,1024);
15、echo$w;
16、?
五、用fsockopen函數(shù)打開url,以get方式獲取完整的數(shù)據(jù),包括header和body,需要輸入內(nèi)容為
1、?php
2、functionget_url($url,$cookie=false)
3、{
4、$url=parse_url($url);
5、$query=$url[path]."?".$url[query];
6、echo"Query:".$query;
7、$fp=fsockopen($url[host],$url[port]?$url[port]:80,$errno,$errstr,30);
8、if(!$fp){
9、returnfalse;
10、}else{
11、$request="GET$queryHTTP/1.1\r\n";
12、$request.="Host:$url[host]\r\n";
13、$request.="Connection:Close\r\n";
14、if($cookie)$request.="Cookie:??$cookie\n";
15、$request.="\r\n";
16、fwrite($fp,$request);
17、while(!@feof($fp)){
18、$result.=@fgets($fp,1024);
19、}
20、fclose($fp);
21、return$result;
22、}
23、}
24、//獲取url的html部分,去掉header
25、functionGetUrlHTML($url,$cookie=false)
26、{
27、$rowdata=get_url($url,$cookie);
28、if($rowdata)
29、{
30、$body=stristr($rowdata,"\r\n\r\n");
31、$body=substr($body,4,strlen($body));
32、return$body;
33、}
34、?returnfalse;
35、}
36、?
參考資料:
php-file_get_contents
你這個(gè)是對(duì)象數(shù)組,那么就要用對(duì)象的方式去獲取
$result?=?$result-info-funds;
$result-x-c;
或者轉(zhuǎn)為數(shù)組
$result?=?(array)$result;
$result?=?$result[info][funds];
$result[x][c];
兩種方式都可以
名稱欄目:php獲取c數(shù)據(jù) php獲取數(shù)據(jù)類型
分享路徑:http://muchs.cn/article4/hgcjoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、電子商務(wù)、網(wǎng)站策劃、營銷型網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)