Loading

邢栋博客

包含关键词“php”的文章

关于php的JIT

关于php的JIT php是解释执行的,它的编译过程是属于动态编译,也就是在运行的时候进行编译,与之相对的事运行前编译的静态编译。动态编译与静态编译除了编译时机的不同,还有一个不同之的地方,那就是静态编译是将代码编译成了机器指令,而动态编译并没有编译为机器指令,而是编译成了解释器可识别的指令。即时编译,即just-in-time complication,简称JIT。JIT是动态编译中的一种技术,简单的讲,就是在某段代码第一次执行前进行编译,所以称为即时编译。 与解释执行不同的事,JIT是将源代码编译为机器指令执行,但JIT又与静态编译不同,它是在运行时...

php的mcrypt加密类

<?php class McryptModel { protected $td = ''; protected $iv = ''; protected $key = ''; private static $instance = null; private function __construct($cipher,$mode,$key) { $this->cipher = $cipher; ...

php使用redis替换文件存储session(session_set_save_handler)

<?php class MySessionHandler implements SessionHandlerInterface { private $redis; private $sessionsavepath; private $sessionname; public function __construct() { $this->redis = new Redis(); $this->redis->connect('127.0.0.1',6379); ...

php生成随机验证码

<?php function getVerifyCode($num){ $content = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $content = str_shuffle($content); return substr($content,-$num); } echo getVerifyCode(4);

php运行机制和原理

php由内核Zend引擎和扩展成组成,php内核负责处理请求、完成文件流错误处理等操作,Zend引擎可以将php程序文件转换成可以在虚拟机上运行的机器语言,扩展层提供一些应用层操作需要的函数类库等,比如数组和mysql数据库的操作等。 Zend引擎是用C语言实现的,将php代码通过词法语法解析成可执行的Opcode并实现相应的处理方法和基本的数据结构进行内存分配和管理等,对外提供相应的可供调用的API方法。Zend引擎是php的核心,所有的外围功能都是围绕他实现的。扩展层通过组件的方式提供各种基础服务、内置函数,标准库都是通过它来实现的。用户也可以编写自...

thinkphp的nginx重写兼容配置

if (!-e $request_filename) { rewrite ^/index.php(.)$ /index.php?s=$1 last; rewrite ^(.)$ /index.php?s=$1 last; break; }

php利用二叉堆算法来实现 TopK

利用二叉堆算法来实现 TopK 实现流程是: 1、先读取10个或100个数到数组里面,这就是我们的topK数. 2、调用生成小顶堆函数,把这个数组生成一个小顶堆结构,这个时候堆顶一定是最小的. 3、从文件或者数组依次遍历剩余的所有数. 4、每遍历出来一个则跟堆顶的元素进行大小比较,如果小于堆顶元素则抛弃,如果大于堆顶元素则替换之. 5、跟堆顶元素替换完毕之后,在调用生成小顶堆函数继续生成小顶堆,因为需要再找出来一个最小的. 6、重复以上4~5步骤,这样当全部遍历完毕之后,我们这个小顶堆里面的就是最大的topK,因为我们的小顶堆永远都是排除最小的留下最大的...

php使用openssl_random_pseudo_bytes生成安全的随机数

需要安装openssl扩展,openssl_random_pseudo_bytes function getRandomString($length = 6) { /* * Use OpenSSL (if available) */ if (function_exists('openssl_random_pseudo_bytes')) { $bytes = openssl_random_pseudo_bytes($length * 2); ...

php发送与接收流文件方法

<?php /** php 发送流文件 * @param String $url 接收的路径 * @param String $file 要发送的文件 * @return boolean */ function sendStreamFile($url, $file){ if(file_exists($file)){ $opts = array( 'http' => array( 'method' => 'POST', ...

关于php类的析构函数

<?php class A { public $name = 'xd'; function __construct($test='test'){ echo 'construct->'.$test.'<br>'; } function __destruct(){ echo 'destruct->'.$this->name.'<br>'; } } $a ...