Flyertutor


  • 首页

  • 归档

  • 分类

  • 标签

PHP 使用 Guzzle 抓取网页

发表于 2016-12-07 | 分类于 PHP

安装 Guzzle

下载地址

这里我使用的是 composer 进行安装

1
composer require guzzlehttp/guzzle

下来我们就创建 index.php 文件

阅读全文 »

C 语言实现单向链表

发表于 2016-12-06 | 分类于 C

单向链表是链表的一种。链表由节点所构成,节点内含一个指向下一个节点的指针,节点依次链接成为链表。
因此,链表这种数据结构通常在物理内存上是不连续的。链表的通常含有一个头节点,头节点不存放实际的值,它含有一个指针,指向存放元素的第一个节点

  1. 头结点没有前驱
  2. 尾节点没有后继
  3. 其他节点有唯一的前驱和后继
阅读全文 »

Linux POSIX

发表于 2016-12-04 | 分类于 Linux

下面是网上收集的一些教程。

阅读全文 »

Linux 信号介绍

发表于 2016-12-04 | 分类于 Linux

是内容受限时的一种异步通信机制

  1. 首先是用来通信的
  2. 是异步的
  3. 本质上是 int 型的数字编号,早期Unix系统只定义了32种信号,Ret hat7.2支持64种信号,编号0-63(SIGRTMIN=31,SIGRTMAX=63)
  4. 信号是用户在终端输入或者按下键盘
  5. 硬件异常后操作系统向内核发送的
  6. 用户使用 kill 命令发出
阅读全文 »

Linux 文件 inode 介绍

发表于 2016-12-03 | 分类于 Linux

inode 查看

stat filename // 查看文件 inode 信息

ls -i filename // 查看文件对应的 inode 号码

df -i // 查看磁盘的 inode 使用信息

每个inode都有一个号码,操作系统用inode号码来识别不同的文件。

这里值得重复一遍,Unix/Linux系统内部不使用文件名,而使用inode号码来识别文件。对于系统来说,文件名只是inode号码便于识别的别称或者绰号。表面上,用户通过文件名,打开文件。

实际上,系统内部这个过程分成三步:首先,系统找到这个文件名对应的inode号码;其次,通过inode号码,获取inode信息;最后,根据inode信息,找到文件数据所在的block,读出数据

阅读全文 »

Vue 使用

发表于 2016-11-29 | 分类于 Vue

Vue 入门示例

1. 数据绑定

html

1
2
3
4
<div id="app">
<h3>{{ msg }}</h3>
<input type="text" v-model="msg">
</div>

JS

1
2
3
4
5
6
var vm = new Vue({
el: '#app',
data: {
msg: 'Hello Vue'
}
});

这样,你改变 input 框的内容,h3 里面的信息也跟着改变,实现了数据的双向绑定

阅读全文 »

laravel-start

发表于 2016-09-18 | 分类于 Laravel

Start

Laravel 是一款非常优雅的 PHP 框架!

安装

1
2
composer require laravel/laravel 5.1.*
composer install

配置

1
mv .env.example .env

打开 .env 文件,在这个文件里面进行配置

开启服务器

1
php artisan serve

这样就可以使用 http://localhost:8000 进行访问了

阅读全文 »

php-curl

发表于 2016-07-29 | 分类于 PHP

主要用于 Api 请求,开发必备利器!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# post
function ajaxPost($url, $data) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$res = curl_exec($ch);

if($res === false) {
var_dump(curl_errno($ch));
var_dump(curl_error($ch));
} else {
var_dump($res);
$arr = json_decode($res, TRUE);
var_dump($arr);
}
curl_close($ch);
}

# get
function ajaxGet($url, $data) {


$url .= '?';
foreach($data as $key=>$row) {
$url .= $key . '=' . $row . '&';
}

$url = substr($url, 0, -1);

$ch = curl_init();
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$res = curl_exec($ch);

if($res === false) {
var_dump(curl_errno($ch));
var_dump(curl_error($ch));
} else {
var_dump($res);
$arr = json_decode($res, TRUE);
var_dump($arr);
}
curl_close($ch);
}
阅读全文 »
1…78
Flyertutor

Flyertutor

一个PHP爱好者

78 日志
9 分类
16 标签
GitHub
© 2018 Flyertutor
由 Hexo 强力驱动
主题 - NexT.Gemini