在php中,eval函数用于将值代入字符串之中。
语法: void eval(string code_str);
传回值: 无
函数种类: 数据处理 内容说明
本函数可将字符串之中的变量值代入,通常用在处理数据库的数据上。
参数 code_str 为欲处理的字符串。
注意:待处理的字符串要符合 PHP 的字符串格式,同时在结尾处要有分号。
使用本函数处理后的字符串会沿续到 PHP 程序结束。
例子:
<?php $string = '杯子'; $name = '咖啡'; $str = '这个 $string 中装有 $name.<br>'; echo $str; eval( "/$str = /"$str/";" ); echo $str; ?>
传回值为:
这个 $string 中装有 $name. 这个 杯子 中装有 咖啡。
附,eval定义和用法。
eval() 函数把字符串按照 PHP 代码来计算。
该字符串必须是合法的 PHP 代码,且必须以分号结尾。
如果没有在代码字符串中调用 return 语句,则返回 NULL。如果代码中存在解析错误,则 eval() 函数返回 false。
语法
eval(phpcode)
参数 描述
phpcode 必需。规定要计算的 PHP 代码。
提示和注释
注释:返回语句会立即终止对字符串的计算。
注释:该函数对于在数据库文本字段中供日后计算而进行的代码存储很有用。
例子:
<?php $string = "beautiful"; $time = "winter"; $str = 'This is a $string $time morning!'; echo $str. "<br />"; eval("$str = "$str";"); echo $str; ?>
输出:
This is a $string $time morning!
This is a beautiful winter morning!
eval() 函数在CodeIgniter框架里也有用到。
在 /system/database/DB.php 文件中,根据系统的配置动态的定义了一个类 CI_DB。
例子:
<?php if ( ! isset($active_record) OR $active_record == TRUE) { require_once(BASEPATH.'database/DB_active_rec.php'); if ( ! class_exists('CI_DB')) { eval('class CI_DB extends CI_DB_active_record { }'); } } else { if ( ! class_exists('CI_DB')) { eval('class CI_DB extends CI_DB_driver { }'); } } require_once(BASEPATH.'database/drivers/'.$params['dbdriver'].'/'.$params['dbdriver'].'_driver.php'); // Instantiate the DB adapter $driver = 'CI_DB_'.$params['dbdriver'].'_driver'; $DB = new $driver($params);
以上代码,可将字符串之中的变量值代入,通常用在处理数据库的数据上。
参数 code_str 为欲处理的字符串。注意下待处理的字符串要符合 PHP 的字符串格式,同时在结尾处要有分号。
使用本函数处理后的字符串会沿续到 PHP 程序结束。
同一个域名对应多个IP的情况,可以通过PHP和HTTP协议来实现获取远程网页的内容。
例如,在访问abc.php时,在header头中加上www.域名。
例子:
<?php /* * 函 数:同一域名对应多个IP时,获取指定服务器的远程网页内容 * 参数说明: * $ip 服务器的IP地址 * $host 服务器的host名称 * $url 服务器的URL地址(不含域名) * 返回值: * 获取到的远程网页内容 * false 访问远程网页失败 */ function HttpVisit($ip, $host, $url) { $errstr = ''; $errno = ''; $fp = fsockopen ($ip, 80, $errno, $errstr, 90); if (!$fp) { return false; } else { $out = "GET {$url} HTTP/1.1/r/n"; $out .= "Host:{$host}/r/n"; $out .= "Connection: close/r/n/r/n"; fputs ($fp, $out); while($line = fread($fp, 4096)){ $response .= $line; } fclose( $fp ); //去掉Header头信息 $pos = strpos($response, "/r/n/r/n"); $response = substr($response, $pos + 4); return $response; } } //调用方法: $server_info1 = HttpVisit("59.112.33.213", "www.", "/abc.php"); $server_info2 = HttpVisit("59.112.33.214", "www.", "/abc.php"); $server_info3 = HttpVisit("59.112.33.215", "www.", "/abc.php"); ?>
php image图像函数集,如下:
gd_info函数:获取当前安装的GD库的信息
getimagesize函数:获取图像的大小
image_type_to_extension函数:获取图像类型的文件后缀
image_type_to_mime_type函数:判断一个IMAGETYPE常量的MIME类型
image2wbmp函数:以WBMP格式将图像输出到浏览器或文件
imagealphablending函数:设定图像的混色模式
imageantialias函数:是否使用antialias(抗锯齿)功能
imagearc函数:画椭圆弧
imagechar函数:水平地画一个字符
imagecharup函数:垂直地画一个字符
imagecolorallocate函数:为一幅图像分配颜色
imagecolorallocatealpha 函数:为一幅图像分配颜色+alpha
imagecolorat函数:获取某像素的颜色索引值
imagecolorclosest函数:获取与指定颜色最接近的颜色的索引值
imagecolorclosestalpha函数:获取与指定颜色加透明度最接近的颜色的索引值
imagecolorclosesthwb函数:获取与指定颜色最接近的色度的黑白色的索引
imagecolordeallocate函数:取消图像颜色的分配
imagecolorexact函数:获取指定颜色的索引值
imagecolorexactalpha函数:获取指定颜色加透明度的索引值
imagecolormatch函数:使一个图像中调色板版本的颜色与真彩色版本更能匹配
imagecolorresolve函数:获取指定颜色的索引值或有可能得到的最接近的替代值
imagecolorresolvealpha函数:获取指定颜色透明度的索引值或有可能得到的最接近的替代值
imagecolorset函数:给指定调色板索引设定颜色
imagecolorsforindex函数:获取某索引的颜色
imagecolorstotal函数:获取一幅图像的调色板中颜色的数目
imagecolortransparent函数:将某个颜色定义为透明色
imageconvolution函数:申请一个3*3的卷积矩阵
imagecopy函数:复制图像的一部分
imagecopymerge函数:复制并合并图像的一部分
imagecopymergegray函数:用灰度复制并合并图像的一部分
imagecopyresampled函数:重采样复制部分图像并调整大小
imagecopyresized函数:复制部分图像并调整大小
imagecreate函数:新建一个基于调色板的图像
imagecreatefromgd2函数:从GD 2文件或URL中新建一个图像
imagecreatefromgd2part函数:从给定的GD 2文件或URL中的一部分新建一个图像
imagecreatefromgd函数:从GD文件或URL中新建一个图像
imagecreatefromgif函数:从GIF文件或URL中新建一个图像
imagecreatefromjpeg函数:从JPEG文件或URL中新建一个图像
imagecreatefrompng函数:从PNG文件或URL中新建一个图像
imagecreatefromstring函数:从字符串中的图像流新建一个图像
imagecreatefromwbmp函数:从WBMP文件或URL中新建一个图像
imagecreatefromxbm函数:从XBM文件或URL中新建一个图像
imagecreatefromxpm函数:从XPM文件或URL中新建一个图像
imagecreatetruecolor函数:新建一个真彩色图像
imagedashedline函数:画一条虚线
imagedestroy函数:销毁一个图像
imageellipse函数:画一个椭圆
imagefill函数:用指定颜色填充一个区域
imagefilledarc函数:画一个椭圆弧并填充
imagefilledellipse函数:画一个椭圆并填充
imagefilledpolygon函数:画一个多边形并填充
imagefilledrectangle函数:画一个矩形并填充
imagefilltoborder函数:区域填充到指定颜色的边界为止
imagefilter函数:对图像使用过滤器
imagefontheight函数:获取字体高度
imagefontwidth函数:获取字体宽度
imageftbbox函数:给出一个使用FreeType2字体的文本框
imagefttext函数:使用FreeType2字体将文本写入图像
imagegammacorrect函数:对GD图像应用gamma修正
imagegd2函数:将GD 2图像输出到浏览器或文件
imagegd函数:将GD图像输出到浏览器或文件
imagegif函数:以GIF格式将图像输出到浏览器或文件
imageinterlace函数:激活或禁止隔行扫描
imageistruecolor函数:检查图像是否为真彩色图像
imagejpeg函数:以JPEG格式将图像输出到浏览器或文件
imagelayereffect函数:设定alpha混色标志以使用绑定的libgd分层效果
imageline函数:画一条线段
imageloadfont函数:载入一个新字体
imagepalettecopy函数:将调色板从一幅图像复制到另一幅
imagepng函数:以PNG格式将图像输出到浏览器或文件
imagepolygon函数:画一个多边形
imagepsbbox函数:给出一个使用PostScript Type1字体的文本框
imagepsencodefont函数:改变字体中的字符编码矢量
imagepsextendfont函数:扩充或精简字体
imagepsfreefont函数:释放一个PostScript Type1字体所占用的内存
imagepsloadfont函数:从文件中加载一个PostScript Type1字体
imagepsslantfont函数:倾斜某字体
imagepstext函数:用PostScript Type1字体把文本字符串画在图像上
imagerectangle函数:画一个矩形
imagerotate函数:用给定角度旋转图像
imagesavealpha函数:设置标记以在保存PNG图像时保存完整的alpha通道信息
imagesetbrush 函数:设定画线用的画笔图像
imagesetpixel函数:画一个单一的像素
imagesetstyle函数:设定画线的风格
imagesetthickness函数:设定画线的宽度
imagesettile函数:设定用于填充的贴图
imagestring函数:水平地画一行字符串
imagestringup函数:垂直地画一行字符串
imagesx函数:获取图像宽度
imagesy函数:获取图像高度
imagetruecolortopalette函数:将真彩色图像转换为调色板图像
imagettfbbox函数:取得使用TrueType字体的文本的范围
imagettftext函数:用TrueType字体向图像写入文本
imagetypes函数:返回当前PHP版本所支持的图像类型
imagewbmp函数:以WBMP格式将图像输出到浏览器或文件
imagexbm函数:将XBM图像输出到浏览器或文件
iptcembed函数:将二进制IPTC数据嵌入一幅JPEG图像中
iptcparse函数:将二进制IPTC块解析为单个标记
jpeg2wbmp函数:将JPEG图像文件转换为WBMP图像文件
png2wbmp函数:将PNG图像文件转换为WBMP图像文件