您的位置:首页 > PHP 内核 扩展 程序 项目管理

php.ini的open_basedir参数设置与PHP文件操作存在的安全隐患

【php.ini中的open_basedir参数】
如果设置了open_basedir参数为一组目录列表,则PHP只能操作此组目录列表下的所有文件(包括文件自身)。 当一个脚本试图打开一个指定目录树之外的文件时,将... 阅读全文

PHP的生命周期

PHP的生命周期
php本身的生命周期是在命令行执行php test.php程序的生命周期(也就是cli)
整个过程如下:
执行php test.php
调用每个扩展的模块初始化程序
   &nb... 阅读全文

PHP扩展之smart_str分析

php_smart_str_public.h
在php_smart_str_public.h文件中我们找到了如下定义:

1
2
3
4
5
typedef struct {
char *c;
size_t len;
size_t ... 阅读全文

获取远程大文件部分内容的方法

获取远程大文件部分内容的方法
【需求】
取远程文件的一部分,文件是以换行隔开,并且这个文件可能比较大

【第一次的方案】
这是我的第一个方案,也是很傻很天真却... 阅读全文

去掉fsockopen返回结果中的HTTP头信息的2种方法

去掉fsockopen返回结果中的HTTP头信息的两种方法
1、【使用split或substr,strpos截断】
在返回的内容中HTTP头信息与正文内容是以两个“换行回车”隔开的所以我们可以在此截断,取之后的... 阅读全文

PHP中的生成XML文件的4种方法

PHP中的生成XML文件的4种方法
【前言】
使用PHP怎么创建XML文件呢?
一直以来都是使用别人封装好的类,没有自己尝试过,难得放几天假,于是自己总结了下。使用PHP生成XML文件... 阅读全文

4-Hanoi-Tower

问题描述
【描述 Description】
“汉诺塔”,是一个众所周知的古老游戏。现在我们把问题稍微改变一下:如果一共有4根柱子, 而不是3根,那么至少需要移动盘子多少次,才能把所... 阅读全文

新年趣事之打牌

问题描述
【描述 Description】
  过年的时候,大人们最喜欢的活动,就是打牌了。xiaomengxian不会打牌,只好坐在一边看着。
  这天,正当一群人打牌打得起劲的时候,突... 阅读全文

PHP中的XML解析的5种方法

【前言】
不管是桌面软件开发,还是WEB应用,XML无处不在!
然而在平时的工作中,仅仅是使用一些已经封装好的类对XML对于处理,包括生成,解析等。假期有空,于是将PHP中的几种... 阅读全文

迎春舞会之三人组舞

【问题描述】
背景 Background
  HNSDFZ的同学们为了庆祝春节,准备排练一场舞
【描述 Description】
  n个人选出3*m人,排成m组,每组3人。
  站的队形——较... 阅读全文

JSON格式总结

【JSON是什么】
JSON,JavaScript Object Notation,一种更轻、更友好的用于接口(AJAX、REST等)数据交换的格式。JSON是结构化数据串行化的文本格式,作为XML的一种替代品,用于表示客户端与服务... 阅读全文

PHP遍历文件的4种方法

【常规遍历方法】
常规遍历方法是指从PHP4开始就可以使用的方法,它是结合使用opendir()函数和readdir()函数,通过打开目录,读取目录和关闭目录,逐一判断列出所有的文件。简单实现代... 阅读全文

使用PHP取远程文件的大小的3种方法

1、【最傻最天真的方法】
将文件使用file_get_contents取回后,strlen
或者存为文件后使用filesize 嘿嘿
2、【使用get_headers】
如果没有打开allow_url_fopen
会显示waring
Warning:... 阅读全文