无法访问Google的临时解决办法0+
大家都知道,google退出中国后,国内GFW对google进行了更加严密的监控,如果你所在的网络有人(包括你自己)搜索了屏蔽词,你在一段时间内就无法进行搜索,确实很烦心。
这里与大家分享一个临时解决办法:
首先ping一下你机器g.cn解析的ip地址,我这边是203.208.39.99,然后修改hosts文件,添加如下规则
203.208.39.99 www.google.com www.google.com.hk
然后重启浏览器,试试吧
大家都知道,google退出中国后,国内GFW对google进行了更加严密的监控,如果你所在的网络有人(包括你自己)搜索了屏蔽词,你在一段时间内就无法进行搜索,确实很烦心。
这里与大家分享一个临时解决办法:
首先ping一下你机器g.cn解析的ip地址,我这边是203.208.39.99,然后修改hosts文件,添加如下规则
203.208.39.99 www.google.com www.google.com.hk
然后重启浏览器,试试吧
如果你不知道tablespaces(表空间),你一定会问这到底是NND什么玩意儿,居然会出现在这么多数据库中。其实很简单,tablespaces是为了维持数据库高效运行而附加的一些逻辑条件。
在oracle和mysql中,tablespaces用来存储一些诸如表和索引的数据段,而在postgres中,一个tablespac是一个物理单元,是一个连接到特定目录的符号连接,它不能运行在不支持符号连接的操作系统,如windows.
实际上,数据文件是oracle和mysql的物理存储机制,虽然postgres也把表数据存在独立文件中,但它支持的表空间非常小。因此,更加合理的把数据分发到磁盘上能够使oracle和mysql的性能更上一层楼, tablespaces正是为了这种合理分发数据方法便于操作而诞生的。
Oracle和mysql创建tablespace的语法基本相同,oracle支持更多的参数,且在一个tablespace允许由多个数据文件组成。下面是一个在mysql下创建和使用tablespace的简单示例:
mysql> create tablespace myts -> add datafile 'myfirstfile' -> engine = falcon; Query OK, 0 rows affected (0.48 sec) mysql> create table testmyts ( -> abc integer ) -> tablespace myts; Query OK, 0 rows affected (0.11 sec)
简单说明下,第一条命令是创建一个名字为myts的tablespace, 赋给它的文件名字为myfirstfile,当然我们要使用falcon引擎(介绍),运行完这个命令后,就会在mysql数据存储目录中发现一个名为myfirstfile的文件。
第二条命令是用这个tablespace创建一个表,这时候你再看那个tablespace文件,是不是变大了呢?如果没有,向这个表中多插入几条数据再看看。
在oracle中创建表结构,和mysql类似,也很简单:
SQL> create tablespace myts datafile 'myfirstfile' size 10M; Tablespace created. SQL> create table testmyts ( abc integer ) tablespace myts; Table created. SQL>
在oracle中,我们无需声明引擎类型,但要声明存储大小。我们可以创建一个小体积的存储空间,然后使用autoextend让其自动扩展,但是这个存储大小是必须要初始化的。
最近帮朋友搭了一个论坛在自己服务器上,考虑到安全性,就为他创建了一个单独的数据库和用户名供使用。
CREATE USER 'rufeng'@'localhost' IDENTIFIED BY '***';/*其中***代表用户密码,如果要使用该帐号,要把localhost替换为%,以下同样要修改*/ GRANT USAGE ON * . * TO 'rufeng'@'localhost' IDENTIFIED BY '***' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;/*查询限制*/ CREATE DATABASE IF NOT EXISTS `rufeng` ;/*创建同名数据库,便于管理*/ GRANT ALL PRIVILEGES ON `rufeng` . * TO 'rufeng'@'localhost';/*行了,这个数据库就是你的了*/ |
随着HTML5的即将退出,相信大家对页面更加人性化有了一定的期待,这里我介绍两种方法,让你的textarea能够实现根据内容自动调整高度,让你的页面也炫起来!
方法一,使用JS自动调整
<textarea name="mytextarea" cols="80" style="overflow-y:hidden;height:80px;" onpropertychange="this.style.height=this.scrollHeight+'px';" oninput="this.style.height=this.scrollHeight+'px';"></textarea> |
方法二,使用css控制,只需给文本域设置overflow-y:visible样式,比较简单,推荐使用
<textarea style="width:300px;overflow-y:visible"></texarea> |
呵呵,中文化的EXIF解析,是不是你想要的呢?使用此方法,可以任意改写出你所需要的东东。
<? /** * 获取图象信息的函数 * * 一个全面获取图象信息的函数 * * @access public * @param string $img 图片路径 * @return array */ function GetImageInfoVal($ImageInfo,$val_arr) { $InfoVal = "未知"; foreach($val_arr as $name=>$val) { if ($name==$ImageInfo) { $InfoVal = &$val; break; } } return $InfoVal; } function GetImageInfo($img) { $imgtype = array("", "GIF", "JPG", "PNG", "SWF", "PSD", "BMP", "TIFF(intel byte order)", "TIFF(motorola byte order)", "JPC", "JP2", "JPX", "JB2", "SWC", "IFF", "WBMP", "XBM"); $Orientation = array("", "top left side", "top right side", "bottom right side", "bottom left side", "left side top", "right side top", "right side bottom", "left side bottom"); $ResolutionUnit = array("", "", "英寸", "厘米"); $YCbCrPositioning = array("", "the center of pixel array", "the datum point"); $ExposureProgram = array("未定义", "手动", "标准程序", "光圈先决", "快门先决", "景深先决", "运动模式", "肖像模式", "风景模式"); $MeteringMode_arr = array( "0" => "未知", "1" => "平均", "2" => "中央重点平均测光", "3" => "点测", "4" => "分区", "5" => "评估", "6" => "局部", "255" => "其他" ); $Lightsource_arr = array( "0" => "未知", "1" => "日光", "2" => "荧光灯", "3" => "钨丝灯", "10" => "闪光灯", "17" => "标准灯光A", "18" => "标准灯光B", "19" => "标准灯光C", "20" => "D55", "21" => "D65", "22" => "D75", "255" => "其他" ); $Flash_arr = array( "0" => "flash did not fire", "1" => "flash fired", "5" => "flash fired but strobe return light not detected", "7" => "flash fired and strobe return light detected", ); $exif = exif_read_data ($img,"IFD0"); if ($exif===false) { $new_img_info = array ("文件信息" => "没有图片EXIF信息"); } else { $exif = exif_read_data ($img,0,true); $new_img_info = array ( "文件信息" => "-----------------------------", "文件名" => $exif[FILE][FileName], "文件类型" => $imgtype[$exif[FILE][FileType]], "文件格式" => $exif[FILE][MimeType], "文件大小" => $exif[FILE][FileSize], "时间戳" => date("Y-m-d H:i:s",$exif[FILE][FileDateTime]), "图像信息" => "-----------------------------", "图片说明" => $exif[IFD0][ImageDescription], "制造商" => $exif[IFD0][Make], "型号" => $exif[IFD0][Model], "方向" => $Orientation[$exif[IFD0][Orientation]], "水平分辨率" => $exif[IFD0][XResolution].$ResolutionUnit[$exif[IFD0][ResolutionUnit]], "垂直分辨率" => $exif[IFD0][YResolution].$ResolutionUnit[$exif[IFD0][ResolutionUnit]], "创建软件" => $exif[IFD0][Software], "修改时间" => $exif[IFD0][DateTime], "作者" => $exif[IFD0][Artist], "YCbCr位置控制" => $YCbCrPositioning[$exif[IFD0][YCbCrPositioning]], "版权" => $exif[IFD0][Copyright], "摄影版权" => $exif[COMPUTED][Copyright.Photographer], "编辑版权" => $exif[COMPUTED][Copyright.Editor], "拍摄信息" => "-----------------------------", "Exif版本" => $exif[EXIF][ExifVersion], "FlashPix版本" => "Ver. ".number_format($exif[EXIF][FlashPixVersion]/100,2), "拍摄时间" => $exif[EXIF][DateTimeOriginal], "数字化时间" => $exif[EXIF][DateTimeDigitized], "拍摄分辨率高" => $exif[COMPUTED][Height], "拍摄分辨率宽" => $exif[COMPUTED][Width], /* The actual aperture value of lens when the image was taken. Unit is APEX. To convert this value to ordinary F-number(F-stop), calculate this value's power of root 2 (=1.4142). For example, if the ApertureValue is '5', F-number is pow(1.41425,5) = F5.6. */ "光圈" => $exif[EXIF][ApertureValue], "快门速度" => $exif[EXIF][ShutterSpeedValue], "快门光圈" => $exif[COMPUTED][ApertureFNumber], "最大光圈值" => "F".$exif[EXIF][MaxApertureValue], "曝光时间" => $exif[EXIF][ExposureTime], "F-Number" => $exif[EXIF][FNumber], "测光模式" => GetImageInfoVal($exif[EXIF][MeteringMode],$MeteringMode_arr), "光源" => GetImageInfoVal($exif[EXIF][LightSource], $Lightsource_arr), "闪光灯" => GetImageInfoVal($exif[EXIF][Flash], $Flash_arr), "曝光模式" => ($exif[EXIF][ExposureMode]==1?"手动":"自动"), "白平衡" => ($exif[EXIF][WhiteBalance]==1?"手动":"自动"), "曝光程序" => $ExposureProgram[$exif[EXIF][ExposureProgram]], /* Brightness of taken subject, unit is APEX. To calculate Exposure(Ev) from BrigtnessValue(Bv), you must add SensitivityValue(Sv). Ev=Bv+Sv Sv=log((ISOSpeedRating/3.125),2) ISO100:Sv=5, ISO200:Sv=6, ISO400:Sv=7, ISO125:Sv=5.32. */ "曝光补偿" => $exif[EXIF][ExposureBiasValue]."EV", "ISO感光度" => $exif[EXIF][ISOSpeedRatings], "分量配置" => (bin2hex($exif[EXIF][ComponentsConfiguration])=="01020300"?"YCbCr":"RGB"),//'0x04,0x05,0x06,0x00'="RGB" '0x01,0x02,0x03,0x00'="YCbCr" "图像压缩率" => $exif[EXIF][CompressedBitsPerPixel]."Bits/Pixel", "对焦距离" => $exif[COMPUTED][FocusDistance]."m", "焦距" => $exif[EXIF][FocalLength]."mm", "等价35mm焦距" => $exif[EXIF][FocalLengthIn35mmFilm]."mm", /* Stores user comment. This tag allows to use two-byte character code or unicode. First 8 bytes describe the character code. 'JIS' is a Japanese character code (known as Kanji). '0x41,0x53,0x43,0x49,0x49,0x00,0x00,0x00':ASCII '0x4a,0x49,0x53,0x00,0x00,0x00,0x00,0x00':JIS '0x55,0x4e,0x49,0x43,0x4f,0x44,0x45,0x00':Unicode '0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00':Undefined */ "用户注释编码" => $exif[COMPUTED][UserCommentEncoding], "用户注释" => $exif[COMPUTED][UserComment], "色彩空间" => ($exif[EXIF][ColorSpace]==1?"sRGB":"Uncalibrated"), "Exif图像宽度" => $exif[EXIF][ExifImageLength], "Exif图像高度" => $exif[EXIF][ExifImageWidth], "文件来源" => (bin2hex($exif[EXIF][FileSource])==0x03?"digital still camera":"unknown"), "场景类型" => (bin2hex($exif[EXIF][SceneType])==0x01?"A directly photographed image":"unknown"), "缩略图文件格式" => $exif[COMPUTED][Thumbnail.FileType], "缩略图Mime格式" => $exif[COMPUTED][Thumbnail.MimeType] ); } return $new_img_info; } //Example print_r(GetImageInfo("DSC00596.JPG")); ?> |