int imagecopy ( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h) 将 src_im 图像中坐标从 src_x,src_y 开始,宽度为 src_w,高度为 src_h 的一部分拷贝到 dst_im 图像中坐标为 dst_x 和 dst_y 的位置上。 int imagecopymerge ( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h, int pct) 将 src_im 图像中坐标从 src_x,src_y 开始,宽度为 src_w,高度为 src_h 的一部分拷贝到 dst_im 图像中坐标为 dst_x 和 dst_y 的位置上。两图像将根据 pct 来决定合并程度,其值范围从 0 到 100。当 pct = 0 时,实际上什么也没做,当为 100 时本函数和 imagecopy() 完全一样。 注: 这是 PHP 4.0.6 新加的。
addslashes() 函数在指定的预定义字符前添加反斜杠。 这些预定义字符是: 1.单引号 (') 2.双引号 (") 3.反斜杠 () 4.NULL 语法 addslashes(string) 提示:该函数可用于为存储在数据库中的字符串以及数据库查询语句准备合适的字符串。 注释:默认情况下,PHP 指令 magic_quotes_gpc 为 on,对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。 htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。 预定义的字符是: 1.& (和号) 成为 & 2." (双引号) 成为 " 3.' (单引号) 成为 ' 4.< (小于) 成为 < 5.> (大于) 成为 > 语法 htmlspecialchars(string,quotestyle,character-set) strip_tags() 函数剥去 HTML、XML 以及 PHP 的标签。 语法 strip
ob_start — 打开输出缓冲区,这样所有的输出信息不再直接发送到浏览器,而是保存在输出缓冲区里面; ob_end_clean — 停止缓冲并清空缓冲区里的内容; ob_get_contents — 提取缓冲区里的内容; ob_end_flush — 发送内部缓冲区的内容到浏览器,并且关闭输出缓冲区。 flush — 刷新输出缓冲区,保存在输出缓冲区的内容会被发送到浏览器; ob_implicit_flush — 禁止缓冲,这样直接发送到浏览器。 示例: ob_start(); //打开缓冲区 phpinfo(); //使用phpinfo函数 $info=ob_get_contents(); //得到缓冲区的内容并且赋值给$info $file=fopen(’info.txt’,'w’); //打开文件info.txt fwrite($file,$info); //写入信息到info.txt fclose($file); //关闭文件info.txt header('Content-Type:text/html; charset=utf-8'); ob_end_clean();
在用curl处理url时出现如下错误信息: CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir
session跨域是一个很经典的问题,我们常用的解决方案有两种。一、 我们分析下session和cookies的特性:1,天然cookies可以跨域,而session不可跨域2,php生成session文件时,会在服务器端创建一个文件,在客户端创建一个cookies,cookies中保存了session id。3,可通过session id的来重新加载session那么,我们可以想象,利用cookies方式来进行跨域,然后读取session id,来进行加载公共的session二、将session保存到数据库、缓存,内存等介质中。
国内不少论坛都存在跨站脚本漏洞,国外也很多这样的例子,甚至Google也出现过,不过在12月初时修正了。(编者注:关于跨站脚本漏洞攻击,读者可参阅《详解XSS跨站脚本攻击》)。跨站攻击很容易就可以构造,而且非常隐蔽,不易被查觉(通常盗取信息后马上跳转回原页面)。 如何攻击,在此不作说明(也不要问我),主要谈谈如何防范。首先,跨站脚本攻击都是由于对用户的输入没有进行严格的过滤造成的,所以我们必须在所有数据进入我们的网站和数据库之前把可能的危险拦截。针对非法的HTML代码包括单双引号等,可以使用htmlentities() 。 <?php $str = "A 'quote' is <b>bold</b>"; // Outputs: A&nb
Java语言功能强大,因此在许多情况下在php中来调用Java的功能将十分有用。在php中调用Java语言有两种方法,一种是使用php中的 Java扩展模块,另一种是使用minij2ee应用服务器提供的SJOP协议实现。下面我们来比较一下这两种方法各自的特点。1.php的Java模块php发布版中包含一个Java扩展模块,可以用来调用Java对象,例如:<?php $system=newJava("java.lang.System"); print "Java version=".$system->getProperty("java.version")." <br>\n"; ?> 使用这
Alternative PHP Cache(APC)是 PHP 的一个免费公开的优化代码缓存。它用来提供免费,公开并且强健的架构来缓存和优化 PHP 的中间代码。APC 官方网站为http://pecl.php.net/package/apc
<?php set_time_limit(10); $commonProtocol = getprotobyname("tcp"); $socket = socket_create(AF_INET, SOCK_STREAM, $commonProtocol); if($socket) { $result = socket_bind($socket, 'localhost', 1337); if($result) { $result = socket_listen($socket, 5); if($result) { echo "监听成功"; } } }else{ echo "监听失败"; } do{ if(($msgsock = socket_accept($socket))) { /* 发送提示信息给连接上来的用户 */ $msg = "==========================================\r\n". "Welcome to the PHP Test Server. \r\n\r\n". "To quit, type 'quit'.
一台服务器流量比较大,因为程序的需要,session的过期时间设置的是3小时,导致/tmp下堆积了近20万的session文件。进而导致内 核占用的cpu急剧上升。因为session的读写涉及到大量小文件的随机读写,并且是集中在一个目录下,iowait也急剧升高。首先考虑将session放入内存中,最简单的办法莫过于将/tmp挂载为 tmpfs文件系统,也就是内存中具体见 使用内存作linux下的临时文件夹