首页 开发编程 正文

php怎么添加数据

php获取表单控件数据有哪两种方法?$_POST和$_REQUEST2、PHP用1个函数实现post请求?可以便捷的使用file_put_contents()进行请求。与之配对的函数file_get_contents()则是读取资源。默认file_get_contents()是使用GET请求,file_get_contents()函数...

php怎么添加数据,php获取表单控件数据有哪两种方法?

表单提交数据获取:$_POST 和 $_REQUEST

PHP用1个函数实现post请求?

引言

前天的文章,我们说到了如何高效的下载网络资源,对于小体积的文件。可以便捷的使用 file_put_contents() 进行请求。与之配对的函数 file_get_contents() 则是读取资源。

今天我们讨论一下,有没有一种可能,使用一个函数,就可以给服务器发送post请求的数据呢?

学习时间

上一段中我们已经提示了,有一个函数可以用于读取网络资源,也就是间接的发起网络请求。默认 file_get_contents()是使用 GET 请求,如果是POST请求按道理也应该做的来。不过要怎么写呢?

file_get_contents() 函数是用来将文件的内容读入到一个字符串中的首选方法。如果操作系统支持还会使用内存映射技术来增强性能。

其参数形式如下:

string file_get_contents( string $filename[, bool $use_include_path = false[, resource $context[, int $offset = -1[, int $maxlen]]]] )

复杂的功能,我们需要组装后面的参数即可。我们需要使用流操作的上下文 context,传入该函数。

首先构造请求的参数,也就是键值对,这里需要使用 & 进行多参数连接:

$postdata = http_build_query( array( 'name' => 'joe', 'age' => '13' ) );

接着构造请求结构体:

$opts = array('http' => array( 'method' => 'POST', 'header' => 'Content-Type: application/x-www-form-urlencoded', 'content' => $postdata ) );

最重要的一步,创建基于流的上下文,使用

$context = stream_context_create($opts);

写到这里就“万事俱备只欠东风”了。我们隆重地清楚主旨函数处理这些参数:

$result = file_get_contents('http://example.com/submit.php', false, $context);

之后结果,或者错误内容,就会输出到 $result 对象。使用 false 判断,或者使用已知的接口返回数据类型,进一步处理。

深度定制

上一节的内容并没有考虑网络超时,接口授权,等等情形。本节我们说一个复杂度高一些的,要求处理一个https请求,并配置了 basic auth 的 url,并使用 post 上传数据。

首先还是裁剪请求体:

$opts = array('http' => array( 'method' => 'POST', 'header' => "Content-Type: text/xml\r\n.Authorization: Basic ".base64_encode("$https_user:$https_password")."\r\n", 'content' => $body, 'timeout' => 60 ) );

注意我们在请求上添加了 header,这是根据目标 url 的要求添加的。$body 就是上一节中的 $postdata 结构类型。

接着创建流上下文:

$context = stream_context_create($opts);

最后调用函数:

$url = 'https://'.$https_server;

$result = file_get_contents($url, false, $context, -1, 40000);

写在最后

通过上面两个细节的函数处理,大家是不是对 file_get_contents() 有了更加深入的看法,原来这家伙还可以这么用,真是开了眼界!

Happy coding :_)

我是 @程序员小助手 ,持续分享编程知识,欢迎关注。

PHP可以开发APP吗?

PHP是一个后端语言,可以为app实现数据接口和数据处理,如果按照提问的角度而言,那肯定也算是可以的。

PHP的开发优势主要集中在网上开源代码巨大,框架众多,开发流程极短,可以很快的开发好自己的项目,基本没有什么比较长的开发流程,开发成本也低,学习起来也比较简单。这基本就是PHP语言web网站使用率如此高的原因之一。

所以你可以完全通过php来实现app的数据接口,然后再使用一些开源的h5前端框架,快速的开发出h5+app。整个开发周期和流程都会相对于其它编程需要来说短了不止一点,而且技术难度也会非常的低,很容易自学入门。

但是,如果选用php作为后端语言处理php的接口,也会存在以下的问题:

1.php相对于其它语言而言,性能不够优秀,如果是一个用户量请求量极大的网站,很容易出现各种问题。而这种层面的优化同样需要大量的人力物力,比如bilibili最开始就是php开发的,后来为了拥有更大的用户承载量而全面Golang化。

2.php存在一定程度的安全问题,因为它是海量中小网站普遍使用的语言,以前也出现过各种形式的安全漏洞。相对于java,Python等语言来说,php的安全性仍然有待考量。

3.php往往是配套h5+进行app开发,因为如果app再选用其它语言,基本完全失去了使用php的意义。但是h5+app也存在许多天然性的问题,比如无法上架苹果市场,性能消耗比原生大等。

最后,以上都是我的个人之见,因为自己也玩过一段时间的php开发,了解过这门语言当然的一些现状。

对于app的开发,个人还是建议如果选用开发流程低耗时短的策略,那么建议使用nodejs搭配vue或者mui框架的方式。如果要追求质量和性能,那么还是老老实实的学习原生的安卓开发方式吧。

怎么让数据库的字段值自动更新急?

你说的是数据库有一个updatetime的字段吧,有两种方法1:使用php,插入数据时带一个time()的变量2:使用mysql自带的:将字段设置成 timestamp 类型,输入默认值 CURRENT_TIMESTAMP ,这是一个mysql函数,这样就不自动将当前时间插入

php怎么使用configinc里的数据?

就是把右侧的 修改成自己的数据库信息啊。 比如 你在阿里云买了,你可以获取到数据库的相关信息,然后修改成自己的 提交上去后 覆盖到之前 这样就修改了

本文转载自互联网,如有侵权,联系删除