网站建设资讯

NEWS

网站建设资讯

c及php数据传递 php传递变量

PHP怎么与C语言通信?

/*server.c*/

陆川ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!

#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("等待读取数据.......\n");

connfd=accept(sockfd,(struct sockaddr *)client,client_len);

n = read(connfd,buf,sizeof(buf));

write(connfd,buf,n);

printf("读取的数据为:%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("创建失败");

socket_connect($sockfd,$server_ip,$port)or die("连接错误");

socket_write($sockfd,$buf,strlen($buf))or die("写入错误");

$a=socket_read($sockfd,80);

echo $a;

$buf="";

socket_close($sockfd);

}

?

form action="tcpclient.php" method="post"

请选则发送方式:brinput type=text name="buf"

input type=submit name="submit" value="发送"

/form

tcp方式不能通信解决方法

执行:getsebool -a |grep http

查看httpd_can_network_connect -- off 是否为打开状态

执行:setsebool httpd_can_network_connect on 把httpd_can_network_connect设置为打开状态

tcp方式不能通信解决方法

执行:getsebool -a |grep http

查看httpd_can_network_connect -- off 是否为打开状态

执行:setsebool httpd_can_network_connect on 把httpd_can_network_connect设置为打开状态

php与C的交互问题

你这样做简直就是浪费了PHP 。

PHP 是做后端的不是做前端的。前端用 html。

如果不是效率要求特别高,是用不上C 的。

而且PHP 的效率已经非常高了。

php怎么提交数据到另一个网站,然后要他返回一个值

这个可以通过PHP的curl请求来提交数据到其他的网站!获取执行的结果即可!以下是一个示例。

function curlpost($data,$url){                    //curlpost提交函数

$data=array('data'=$data);

$ch = curl_init ();

curl_setopt ($ch, CURLOPT_URL, $url );

curl_setopt ($ch, CURLOPT_POST, true );

curl_setopt ($ch, CURLOPT_HEADER, 0 );

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1 );

curl_setopt ($ch, CURLOPT_POSTFIELDS, $data );

$state=curl_exec ($ch );

curl_close ($ch );

return $state;

}

关于php调用文件及参数传递的问题

require相当于把指定文件的代码换到当前位置,例如

//a.php

$a=1;

$b=2;

//b.php

$c=3;

require_once('a.php');

$d=4;

在执行b.php时,相当于b.php内容如下

$c=3;//b.php中原内容

$a=1;//a.php中的内容

$b=2;//a.php中的内容

$d=4;//b.php中原内容

就是替换的关系,所以变量是通用的,不需要任何传值,可以理解为2个文件合并到一起

建议用require_once以防止多次循环引用出错


分享文章:c及php数据传递 php传递变量
本文网址:http://cdweb.net/article/dossdcd.html