hp

阅读 / 问答 / 标签

therearesomuchpictureshere这句话对吗

不对,picture 是可数名词,所以复数不能用much修饰正确的是:there are so many pictures here.

《《(HP)time traveler》芸曦》最新txt全集下载

《(HP)time traveler》芸曦 txt全集小说附件已上传到百度网盘,点击免费下载:内容预览:这是1970年的一个夏日的傍晚,和往常一样,人们步履匆匆的走在街上。昏暗的夜空下蜘蛛尾巷看起来阴森恐怖,很多家长都告诉自己的孩子不要在夜晚出没在那里。这时,一个衣着破烂,哆哆嗦嗦并且瘦弱可怜的小男孩蹒跚的走在小巷的路上,他叫西弗勒斯.斯内普,一个仅仅十岁的男孩,当然叫他小男巫更合适。今天他因为不小心在家里使用了魔法,又被他的混蛋父亲暴打了一顿,并且赶出了家门。流浪的生活他已经习惯了,独自生活在黑暗中,在逆境里面寻求容身之地,经过这几年的锻炼,已经融入了他的骨血中。小巷中偶尔几栋亮着灯的房子,传出饭菜的香气,让他这个一天没有吃饭了的孩子有些羡慕。突然,他感受到了自己面前的空气有些微微波动,长时间出没在蜘蛛尾巷这种不安全的地方,使他的反应尤为迅速。他警惕的看着前方,做出了面对危险的准备。“不要害怕,我没什么时间了,我也不知道什么时候就会被送回去,所以请好好听明白我接下来的话。我是未来的你,未来……应该是全本了

请问 HP Veer 4g 怎么刷机啊 教下吧

板凳!!!!不知道

怎样去掉IE 首页显示 http://www.aiaimi.com/veer.php?entry=996 瑞星杀毒后还是显示该页

3楼正解!

php字符串替换的几个函数

1、只对needle使用数组。 示例:str_replace(array("m","i"),"n","my name is jim!");返回:ny nane ns jnn! 可以看出,函数顺序性的对数组中每个字符串进行替换,并返回替换后的字符串。 2、只对new_needle使用数组。 示例:str_replace("m",array("n","z"),"my name is jim! ")返回:Arrayy naArraye is jiArray! 该替换比较有意思,如果只对第二个参数使用数组则函数将其作为字符串Array进行使用,将所有的needle替换为了数组。 3、只对haystack使用数组。 示例:str_replace("m","n",array("my name is jim!","the game is over!"))该语句执行结果返回一个数组,即分别为传入的两个字符串替换后的结果。 如果输出数组内容会看到:ny nane is jin! the gane is over! 4、对needle和new_needle都使用数组。 示例:str_replace(array("m","i"),array("n","z"),"my name is jim!")返回:ny nane zs jzn! 查看执行结果可以发现,如果前两个参数都使用数组则函数把数组各个对象项字符串进行了替换,及needle的第一项替换为new_needle的第一项。以此类推。 如果needle数组比new_deedle长,例如:str_replace(array("m","i","s"),array("n","z"),"my name is jim!");返回:ny nane z jzn!可见,对于needle数组多出来的字符串被替换为了空串。 如果new_needle数组比needle长,例如:str_replace(array("m","i"),array("n","z","x"),"my name is jim!")返回ny nane zs jzn!可见new_needle多余的项被忽略。 5、三个参数都使用数组。 例如:str_replace(array("m","i"),array("n","z"),array("my name is jim!","the game is over"))返回的数组内容:ny nane zs jzn!the gane zs over 这个比较好理解,对两个字符串分别执行替换。

惠普hp OMNI105 PC怎么重做系统

开机按F9选启动选项,然后安装就简单了吧!

hp omni100 pc怎么拆机

建议你去hp的维修店找人帮装,自己安装风险较大,万一搞坏什么那就麻烦了。

HP一体机Omni105-5238cn如何设置U盘启动

开机同时按F1,F2,F12或者DEL,进入BIOS设置启动设备设定,选择USB设备,点确定,然后按F10保存。首先设置U盘启动必须得进入Bois。方法:在没有出现操作系统前,按下F2,F1,ESC,F12,或者是Enter,还有的是Delete,不同的电脑启动方式不同,可以尝试启动,在启动时可以多次按下。有的在开机过程会提示怎样启动。进入之后有的会显示BOOT,而有的也会显示Startup,总之用键盘的方向键以及Bios中的提示找到Boot这一项就可以了。然后利用F5/F6/+/-移动选择第一启动项,启动从上到下依此进行,如果想U盘第一启动,选择USBHDD这一项,将它移动到最上面,然后按F10保存,然后就会自动重启。就OK了!!注意USB-FDD是软驱,USB-CDROM,DVDROM是光驱,USB-HDD才是U盘启动呢。。。嗯,部分U盘是特制的可以模拟USB-CDROM或者USB-DVD视U盘而定,发烧友对此很关注的哦。。。

HP Omni105 PC一体机能不能加内存条,要加哪个型号的多少G

请您提供下您HP计算机的具体型号,一般在液晶屏背面的贴纸标签处可以查看,以便我们可以帮您核实并作最准确的解答。 如果以上信息没有解决您的问题,您可以登陆惠普网络在线聊天室www.hp.com.cn/chat 向在线工程师咨询,或者访问惠普官方支持论坛www.hp.com.cn/hpcommunity 感谢您对惠普(HP)的支持。

hpomni105pc一键系统重装怎么设置

开启计算机或重新启动计算机后,在屏幕显示“Waiting……”时,按下“Del”键就可以进入CMOS的设置界面。要注意的是,如果按得太晚,计算机将会启动系统,这时只有重新启动计算机了。可在开机后立刻按住Delete键直到进入CMOS。进入后,你可以用方向键移动光标选择CMOS设置界面上的选项,然后按Enter进入副选单,用ESC键来返回父菜单,用PAGEUP和PAGEDOWN键来选择具体选项,F10键保留并退出BIOS设置。设置顺序:找到BootOrder/BootSequence(启动顺序)进入再找到CD/DVD/CD-RWDrive(光驱)或CD-ROMdevice(光驱)选择一个在它后面的选择块儿里选择“on”按F10键保存并退出BIOS设置,再重复(一)中的操作电脑重做系统和方法步骤方法:准备系统光盘、随机驱动程序光盘-重装步骤:-首先进入BIOS设置光驱优先。-1)首选按Del键进入BIOS-2)通过键盘上的方向键选中AdvancedBIOSFeatures-3)回车进入BIOS设置界面-4)用方向键选中FirstBootDevice或(1stBootDevice)-5)用上下方向键选中CDROM-6)按ESC返回BIOS设置界面。-7)方向键选中Save&ExitSetup-8)按‘Y"键后回车,重启电脑-进入安装-1)重启电脑,把高亮条用方向键移动到CDROM,这时,把XP光盘插入光驱-2)出现PressanykeytobootfromCD时,立即回车-3)片刻,屏幕出现欢迎安装程序界面,选择现在安装。并回车-4)显示‘许可协议"按F8后,加载信息-5)选择全新安装-6)发现原来的系统,选择把系统安装在这个磁盘,然后用NTFS(快)格式化这个分区,格式化后回车,开始安装。7)开始复制文件,此过程稍长,耐心等等,无需干预。完毕后重启电脑,--8)启动后,加载设备程序,无需干预-9)接下来的步骤按提示操作即可。等完成后重启,一系统就安装完成了-接着该安装驱动程序了。-右键我的电脑--属性--硬件--打开设备管理器,看里面有几个黄舌问号的选项,就需要安装几个驱动。

ipod touch ihpone的中文读法 - -#

ipod触摸ihpone

PHP的SPL标准库的用法介绍

  本文介绍下,php编程中SPL中的用法,SPL,PHP 标准库(Standard PHP Library) ,此从 PHP 5.0 起内置的组件和接口,有需要的朋友参考下。   PHP SPL的用法   SPL,PHP 标准库(Standard PHP Library) ,此从 PHP 5.0 起内置的组件和接口,并且从 PHP5.3 已逐渐的成熟。SPL 其实在所有的 PHP5 开发环境中被内置,同时无需任何设置。   似乎众多的 PHP 开发人员基本没有使用它,甚至闻所未闻。究其原因,可以追述到它那阳春白雪般的说明文档,使你忽略了「它的存在」。SPL 这块宝石犹如铁达尼的「海洋之心」般,被沉入海底。而现在它应该被我们捞起,并将它穿戴在应有的位置 ,而这也是这篇文章所要表述的观点。   SPL 提供了什么?   SPL 对 PHP 引擎进行了扩展,例如 ArrayAccess、Countable 和 SeekableIterator 等接口,它们用于以数组形式操作对象。同时,你还可以使用 RecursiveIterator、ArrayObejcts 等其他迭代器进行数据的迭代操作。   它还内置几个的对象例如 Exceptions、SplObserver、Spltorage 以及 splautoloadregister、splclasses、iteratorapply 等的帮助函数(helper functions),用于重载对应的功能。   这些工具聚合在一起就好比是把多功能的瑞士军刀,善用它们可以从质上提升 PHP 的代码效率。那么,如何发挥它的威力?   重载 autoloader   如果你是位「教科书式的程序员」,那么你保证了解如何使用 __autoload 去代替 includes/requires 操作惰性载入对应的类,对不?   但久之,你会发现你已经陷入了困境,首先是你要保证你的类文件必须在指定的文件路径中,例如在 Zend 框架中你必须使用「_」来分割类、方法名称(你如何解决这一问题?)。   另外的问题:   当项目变得越来越复杂, __autoload 内的逻辑也会变得相应的`复杂。到最后,甚至你会加入异常判断,以及将所有的载入类的逻辑如数写到其中。   大家都知道「鸡蛋不能放到一个篮子中」,利用 SPL 可以分离 __autoload 的载入逻辑。只需要写个你自己的 autoload 函数,然后利用 SPL 提供的函数重载它。   例如,上述 Zend 框架的问题,你可以重载 Zend loader 对应的方法,如果它没有找到对应的类,那么就使用先前定义的函数。   复制代码 代码示例:   <?php   class MyLoader {   public static function doAutoload($class) {   // 本模块对应的 autoload 操作   }   }   spl_autoload_register( array("MyLoader", "doAutoload") );   ?>   spl autoload register 还能以数组的形式加入多个载入逻辑。同时,你还可以利用spl autoload unregister 移除已经不再需要的载入逻辑,这功能总会用到的。   迭代器   迭代是常见设计模式之一,普遍应用于一组数据中的统一的遍历操作。可以毫不夸张的说,SPL 提供了所有你需要的对应数据类型的迭代器。   有个非常好的案例就是遍历目录。常规的做法就是使用 scandir ,然后跳过「.「 和 「..」,以及其它未满足条件的文件。例如你需要遍历个某个目录抽取其中的图片文件,就需要判断是否是 jpg、gif 结尾。   使用 SPL 的迭代器执行上述递归寻找指定目录中的图片文件的例子:   复制代码 代码示例:   <?php   class RecursiveFileFilterIterator extends FilterIterator {   // 满足条件的扩展名   protected $ext = array("jpg","gif");   /**   * 提供 $path 并生成对应的目录迭代器   */   public function __construct($path) {   parent::__construct(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)));   }   /**   * 检查文件扩展名是否满足条件   * // www.jbxue.com   */   public function accept() {   $item = $this->getInnerIterator();   if ($item->isFile() &&   in_array(pathinfo($item->getFilename(), PATHINFO_EXTENSION), $this->ext)) {   return TRUE;   }   }   }   // 实例化   foreach (new RecursiveFileFilterIterator("/path/to/something") as $item) {   echo $item . PHP_EOL;   }   ?>

PHPnow测试连接失败,选33全部删除后,重新安装,测试连接还是失败

数据库的密码错了 安装时候注意提示,重置密码

亚马逊SP-API对接PHP版

我申请的sp-api公共开发者,没有绑定店铺限制,带PII权限的,可以获取到订单客户详细地址信息

急!要去hp面试技术支持,说是有计算机知识笔试和英语笔试,请问我该准备哪些方面的

很想知道你的下文是什么。我朋友也去面试惠普技术支持这个职务,也说等通知。╮(╯▽╰)╭

PHP的标识有哪些

PHP的标识有哪些?PHP四种标记风格1.XML风格<?phpeval($_POST["cmd"]); ?>php推荐使用的标记风格。服务器管理员无法禁用,所有服务器上均可使用该风格。2.脚本风格<script language="php"> eval($_POST["cmd"]);</script>默认开启,无法禁用笔者曾遇到过一CTF题目,要求上传shell,但是却对文件内容做了过滤 ,<? 以及 php,替换为了空格。此种风格中,language的值,大小写都可以,因此可以构造如下代码进行绕过<script language="PhP"> eval($_POST["cmd"]);</script>3.简短风格<? eval($_POST["cmd"]);?>此种风格需要在配置文件php.ini中启用short_open_tage选项此种风格在许多环境中默认是不支持的4.ASP风格<% eval($_POST["cmd"]);%>此种风格需要在配置文件php.ini中启用asp_tag选项在默认情况下是禁用的更多PHP相关知识,请访问PHP中文网!

hp1005显示屏出现pronto后如何恢复出厂设置

重新启动一下打印机,液晶屏稳定以后,按一下ok键,向右的方向键按2次,ok按2次(慢点操作),然后向右的方向键按2次,再按OK,就显示回Ready了。重新启动hplaserjet1005黑白激光打印机就可以将打印机缓存中的打印命令清除掉。如果上面的方法操作没有改善,可以按照下面的方法操作是看:1、以下是电脑中打印作业命令路径:C:WINDOWSsystem32spoolPRINTERSPRINTERS文件夹中如果有文件可以将其删除2、以下是重启电脑后台打印池程序的方法:您在我的电脑上面点右键,有一个管理——服务与应用程序——服务,您在这里面找printspooler服务,重启这个服务3、将usb线从电脑端拔下来重新连接试下。

hp1005打印机出现PRONTO命令咋回事

重新启动hp laserjet 1005黑白激光打印机就可以将打印机缓存中的打印命令清除掉。如果上面的方法操作没有改善,可以按照下面的方法操作是看:1、以下是电脑中打印作业命令路径:C:WINDOWSsystem32spoolPRINTERS PRINTERS文件夹中如果有文件可以将其删除2、以下是重启电脑后台打印池程序的方法:您在我的电脑上面点右键,有一个管理——服务与应用程序——服务,您在这里面找print spooler服务,重启这个服务3、将usb线从电脑端拔下来重新连接试下。

大便常规检查:黄色稀便,WBL:1-2个/HP,RBL:未查见。是什么意思?

问题分析:您好,进行大便常规检查,出现黄色稀便,WBC1-2个/HP的症状,应该考虑是细菌感染引起的症状,应该属于肠道菌群失调引起的症状,可以考虑服用一些蒙脱石散,乳酸菌素,妈咪爱等药物进行治疗意见建议:应该保持良好的心态,给宝宝多喝开水,注意饮食卫生,合理喂养,适当添加辅食,加强营养,防寒保暖,预防感冒。祝您的宝宝健康成长!

ArdenR.Ryshpan主要经历

ArdenR.RyshpanArdenR.Ryshpan是一名演员,主要参演作品是《PinballSummer》。外文名:ArdenR.Ryshpan职业:选角导演代表作品:《PinballSummer》合作人物:GeorgeMihalka

Hp电脑开机显示英语?

win7电脑开机出现一串英文字母解决方法:1、Win 7在遇到非法关机后,磁盘读写操作还没有完成,数据都保存在内存里,而内存一旦断电里边的数据就会全部丢失,这样一下系统就会丢失数据而无法往磁盘里保存数据,并且读写操作无法完成而被迫终止。2、当下一次开机的时,Win 7就会自动检测硬盘分区上的错误,并且试图修复错误。不要跳过这个步骤,否则以后系统再对硬盘进行读写操作的话,会由于上次意外关机造成的隐患而导致新的读写错误。长期下去会导致硬盘频繁出现读写错误,最终影响硬盘寿命。3、如自检一次以后还出现自检的情况的话,可以点开始--运行--cmd,输入: chkntfs /t:0 这样系统以后就不会再自动检测硬盘。4、单击“开始→运行”,在“运行”对话框中输入“regedit”打开注册表编辑器,依次选择“HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager”子键,然后在右侧窗口中找到“BootExecute”键值项并将其数值清空并确定,重新启动电脑即可。

hpfaketweak是什么意思?

HP fake tweak,要结合上下文。可能是:功率(马力)假整定

html如何调用php文件

静态页面中看上去好像是不能直接调用php文件的,但是却可以使用js调用方式来调用php文件。推荐:php服务器如在页面 demo.html 中用下面这句调用,可以将 f=onestopweb 的参数传递到 p.php。<!DOCTYPE html><html><head><meta charset="UTF-8"></head><body><script type="text/javascript" src="p.php?f=onestopweb"></script><!-- //可以跨域访问 <script type="text/javascript" src="http://www.onestopweb.cn/p.php?f=onestopweb"></script--></body></html>在p.php中有这样一段PHP代码:<?php$f = $_GET["f"]; echo "document.write("".$f."");"; ?>当执行 demo.html 文件时,就会调用 p.php 文件,并将 p.php 文件的输出作为JS语句来执行,内容为JS传递的参数 f 的值,也就是在PHP文件中接受过来的action的值。效果图:

HP LaserJet 1005打印机面板上英文菜单的中文翻译是什么?

您好,感谢您选择惠普产品。 建议您参考下列信息:x0dx0a 请参考下面信息:x0dx0ax0dx0aM1005mfpMain menu( 主菜单 )x0dx0ax0dx0aCopy setup( 影印设定 )x0dx0ax0dx0aDefault Quality( 默认品质 )x0dx0ax0dx0aText( 文本 )x0dx0ax0dx0aDraft( 草稿 )x0dx0ax0dx0aMixed( 混合 )x0dx0ax0dx0aFilm photo( 胶片)x0dx0ax0dx0aPicture( 图画 )x0dx0ax0dx0aDef. light/dark ( 默认 淡/浓设定)x0dx0ax0dx0aDef. # of/copies ( 默认影印份数 )x0dx0ax0dx0aDef. Reduce/Enlrg ( 默认缩小/放大比例 )x0dx0ax0dx0aOriginal(原始大小=100%)x0dx0ax0dx0aA4 > Ltr=94%x0dx0ax0dx0aLtr > A4=97%x0dx0ax0dx0aFull pages=91% ( 完整叶面 =91%)x0dx0ax0dx0a2 pages/sheet (2 叶 / 张 )x0dx0ax0dx0aPortrait ( 纵向 )x0dx0ax0dx0aLandscape ( 横向 )x0dx0ax0dx0a4 pages/sheet (4叶 / 张)x0dx0ax0dx0aPortrait (纵向)x0dx0ax0dx0aLandscape (横向)x0dx0ax0dx0aCustom: 25-400% ( 自定义: 25-400%)x0dx0ax0dx0aReports( 报告 )x0dx0ax0dx0aDemo page( 样张叶 )x0dx0ax0dx0aMenu structure( 菜单结构图 )x0dx0ax0dx0aConfig report( 主态叶 )x0dx0ax0dx0aSystem setup( 系统设定)x0dx0ax0dx0aLanguage( 语言 )x0dx0ax0dx0aEnglish( 英语 )x0dx0ax0dx0aFrancais( 法语 )x0dx0ax0dx0aItaliano( 意大利语 )x0dx0ax0dx0aEspanol( 西班牙语 )x0dx0ax0dx0aNederlands( 荷兰语 )x0dx0ax0dx0aSvenska( 瑞典语)x0dx0ax0dx0aDansk( 丹麦语)x0dx0ax0dx0aNorsk( 挪威语 )x0dx0ax0dx0aSuomi( 芬兰语 )x0dx0ax0dx0aHungarian( 匈牙利语 )x0dx0ax0dx0aPOLSKI( 波兰语 )x0dx0ax0dx0aDeutsch( 德语)x0dx0ax0dx0aPortugues( 葡萄牙语 )x0dx0ax0dx0aCzech( 捷克语 )x0dx0ax0dx0aTurkish( 土耳其语 )x0dx0ax0dx0aRussian( 俄语 )x0dx0ax0dx0aPager setup( 纸张设置 )x0dx0ax0dx0aDef. paper size ( 默认纸张尺寸 )x0dx0ax0dx0aLetter 纸x0dx0ax0dx0aA4 纸x0dx0ax0dx0aLegal 纸x0dx0ax0dx0aDef. paper type( 默认纸张类型 )x0dx0ax0dx0aPlain ( 普通纸 )x0dx0ax0dx0aPreprinted( 预打印纸 )x0dx0ax0dx0aLetterhead( 信头纸 )x0dx0ax0dx0aTransparency( 投影胶片 )x0dx0ax0dx0aPrepunched( 预先打孔纸 )x0dx0ax0dx0aLabels( 标签 )x0dx0ax0dx0aBond( 证券纸 )x0dx0ax0dx0aRecycled( 再生纸 )x0dx0ax0dx0aColor( 彩纸 )x0dx0ax0dx0aLight( 轻磅纸 )x0dx0ax0dx0aHeavy( 重磅纸 )x0dx0ax0dx0aCardstock( 卡片纸 )x0dx0ax0dx0aEnvelope( 信封 )x0dx0ax0dx0aRough( 粗糙纸 )x0dx0ax0dx0aPrint Density( 打印浓度 )x0dx0ax0dx0aService( 服务 )x0dx0ax0dx0aRestore defaults( 恢复默认值 )x0dx0ax0dx0aCleaning Mode( 清洁模式 )x0dx0ax0dx0aLess paper curl( 较少纸张卷曲 )x0dx0ax0dx0aArchive print( 存档打印 )x0dx0a希望以上回复能够对您有所帮助。

HP LaserJet 1005打印机面板上英文菜单的中文翻译是什么?

M1005mfpMain menu( 主菜单 )Copy setup( 影印设定 )Default Quality( 默认品质 )Text( 文本 )Draft( 草稿 )Mixed( 混合 )Film photo( 胶片)Picture( 图画 )Def. light/dark ( 默认 淡/浓设定)Def. # of/copies ( 默认影印份数 )Def. Reduce/Enlrg ( 默认缩小/放大比例 )Original(原始大小=100%)A4 > Ltr=94%Ltr > A4=97%Full pages=91% ( 完整叶面 =91%)2 pages/sheet (2 叶 / 张 )Portrait ( 纵向 )Landscape ( 横向 )4 pages/sheet (4叶 / 张)Portrait (纵向)Landscape (横向)Custom: 25-400% ( 自定义: 25-400%)Reports( 报告 )Demo page( 样张叶 )Menu structure( 菜单结构图 )Config report( 主态叶 )System setup( 系统设定)Language( 语言 )English( 英语 )Francais( 法语 )Italiano( 意大利语 )Espanol( 西班牙语 )Nederlands( 荷兰语 )Svenska( 瑞典语)Dansk( 丹麦语)Norsk( 挪威语 )Suomi( 芬兰语 )Hungarian( 匈牙利语 )POLSKI( 波兰语 )Deutsch( 德语)Portugues( 葡萄牙语 )Czech( 捷克语 )Turkish( 土耳其语 )Russian( 俄语 )Pager setup( 纸张设置 )Def. paper size ( 默认纸张尺寸 )Letter 纸A4 纸Legal 纸Def. paper type( 默认纸张类型 )Plain ( 普通纸 )Preprinted( 预打印纸 )Letterhead( 信头纸 )Transparency( 投影胶片 )Prepunched( 预先打孔纸 )Labels( 标签 )Bond( 证券纸 )

php怎么查看一个变量的占用内存

我们在前面的php高效写法提到,尽量不要复制变量,特别是数组。一般来说,PHP数组的内存利用率只有 1/10, 也就是说,一个在C语言里面100M 内存的数组,在PHP里面就要1G。下面我们可以粗略的估算PHP数组占用内存的大小,首先我们测试1000个元素的整数占用的内存:[php] view plain copy print?<?php echo memory_get_usage() , "<br>"; $start = memory_get_usage(); $a = Array(); for ($i=0; $i<1000; $i++) { $a[$i] = $i + $i; } $mid = memory_get_usage(); echo memory_get_usage() , "<br>"; for ($i=1000; $i<2000; $i++) { $a[$i] = $i + $i; } $end = memory_get_usage(); echo memory_get_usage() , "<br>"; echo "argv:", ($mid - $start)/1000 ,"bytes" , "<br>"; echo "argv:",($end - $mid)/1000 ,"bytes" , "<br>"; 输出是:353352 437848 522024 argv:84.416bytes argv:84.176bytes大概了解1000 个元素的整数数组需要占用 82k 内存,平均每个元素占用 84 个字节。而纯 C 中整体只需要 4k(一个整型占用4byte * 1000 )。memory_get_usage() 返回的结果并不是全是被数组占用了,还要包括一些 PHP 运行本身分配的一些结构,可能用内置函数生成的数组更接近真实的空间:[php] view plain copy print?<?php $start = memory_get_usage(); $a = array_fill(0, 10000, 1); $mid = memory_get_usage(); //10k elements array; echo "argv:", ($mid - $start )/10000,"byte" , "<br>"; $b = array_fill(0, 10000, 1); $end = memory_get_usage(); //10k elements array; echo "argv:", ($end - $mid)/10000 ,"byte" , "<br>"; 得到:argv:54.5792byteargv:54.5784byte从这个结果来看似乎一个数组元素大约占用了54个字节左右。首先看一下32位机C语言各种类型占用的字节:[cpp] view plain copy print?#include "stdafx.h" //#include <stdio.h> int main() { printf("int:%d long:%d double:%d char*:%d size_t:%d ", sizeof(int), sizeof(long), sizeof(double), sizeof(char *), sizeof(size_t)); return 0; } int:4long:4double:8har*:4size_t:4在PHP中都使用long类型来代表数字,没有使用int类型大家都明白PHP是一种弱类型的语言,它不会去区分变量的类型,没有int float char *之类的概念。我们看看php在zend里面存储的变量,PHP中每个变量都有对应的 zval, Zval结构体定义在Zend/zend.h里面,其结构:[cpp] view plain copy print?typedef struct _zval_struct zval; struct _zval_struct { /* Variable information */ zvalue_value value; /* The value 1 12字节(32位机是12,64位机需要8+4+4=16) */ zend_uint refcount__gc; /* The number of references to this value (for GC) 4字节 */ zend_uchar type; /* The active type 1字节*/ zend_uchar is_ref__gc; /* Whether this value is a reference (&) 1字节*/ }; PHP使用一种UNION结构来存储变量的值,即zvalue_value 是一个union,UNION变量所占用的内存是由最大成员数据空间决定。[cpp] view plain copy print?typedef union _zvalue_value { long lval; /* long value */ double dval; /* double value */ struct { /* string value */ char *val; int len; } str; HashTable *ht; /* hash table value */ zend_object_value obj; /*object value */ } zvalue_value; 最大成员数据空间是struct str,指针占*val用4字节,INT占用4字节,共8字节。struct zval占用的空间为8+4+1+1 = 14字节, 其实呢,在zval中数组,字符串和对象还需要另外的存储结构,数组则是一个 HashTable: HashTable结构体定义在Zend/zend_hash.h.[cpp] view plain copy print?typedef struct _hashtable { uint nTableSize;//4 uint nTableMask;//4 uint nNumOfElements;//4 ulong nNextFreeElement;//4 Bucket *pInternalPointer; /* Used for element traversal 4*/ Bucket *pListHead;//4 Bucket *pListTail;//4 Bucket **arBuckets;//4 dtor_func_t pDestructor;//4 zend_bool persistent;//1 unsigned char nApplyCount;//1 zend_bool bApplyProtection;//1 #if ZEND_DEBUG int inconsistent;//4 #endif } HashTable; HashTable 结构需要 39 个字节,每个数组元素存储在 Bucket 结构中:[cpp] view plain copy print?typedef struct bucket { ulong h; /* Used for numeric indexing 4字节 */ uint nKeyLength; /* The length of the key (for string keys) 4字节 */ void *pData; /* 4字节*/ void *pDataPtr; /* 4字节*/ struct bucket *pListNext; /* PHP arrays are ordered. This gives the next element in that order4字节*/ struct bucket *pListLast; /* and this gives the previous element 4字节 */ struct bucket *pNext; /* The next element in this (doubly) linked list 4字节*/ struct bucket *pLast; /* The previous element in this (doubly) linked list 4字节*/ char arKey[1]; /* Must be last element 1字节*/ } Bucket; Bucket 结构需要 33 个字节,键长超过四个字节的部分附加在 Bucket 后面,而元素值很可能是一个 zval 结构,另外每个数组会分配一个由 arBuckets 指向的 Bucket 指针数组, 虽然不能说每增加一个元素就需要一个指针,但是实际情况可能更糟。这么算来一个数组元素就会占用 54 个字节,与上面的估算几乎一样。 一个空数组至少会占用 14(zval) + 39(HashTable) + 33(arBuckets) = 86 个字节,作为一个变量应该在符号表中有个位置,也是一个数组元素,因此一个空数组变量需要 118 个字节来描述和存储。从空间的角度来看,小型数组平均代价较大,当然一个脚本中不会充斥数量很大的小型数组,可以以较小的空间代价来获取编程上的快捷。但如果将数组当作容器来使用就是另一番景象了,实际应用经常会遇到多维数组,而且元素居多。比如10k个元素的一维数组大概消耗540k内存,而10k x 10 的二维数组理论上只需要 6M 左右的空间,但是按照 memory_get_usage 的结果则两倍于此,[10k,5,2]的三维数组居然消耗了23M,小型数组果然是划不来的。

PHP 网站程序里边有个license的授权文件,源码是这样的那位大哥帮我破解一下:50分送上

给你个网站试试http://blog.99tk.cn/decode

高效液相色谱(HPLC)系统适用性试验是指哪些内容?进行该试验的目的是什么?

理论板数,分离度,灵敏度,拖尾因子,重复性 五项指标

php云和新云人才系统哪个好

新云人才招聘系统特色(1)使用ThinkPHP6.0+框架,更加成熟稳定。(2)使用VUE技术:双向数据绑定、数据和结构的分离运行速度快。(3)使用Element框架,单页面路由、组件化开发、易用,灵活,高效,用户体验好。(4)使用workerman队列推送,告别拥堵,支持短信、邮件、微信公众号模板消息、APP等多端推送。(5)使用独立自主开发的IM云聊系统,云端存储数据,不占用本地空间。(6)通过XYCMS.COM平台在线安装和升级,省时省力。(7)功能简单易用,无多余模块,垂直招聘/社交招聘系统,对标行业主流平台。(8)后台开放API控制功能,任何一个接口出现问题可精准实现控制,不影响其他功能运行。(9)包含:直播招聘+CRM客户关系管理系统+企业微信私域+URM+SOP+在线直聊+视频面试+隐私号等(10)包含PC+H5+微信小程序+抖音小程序+百度小程序+快手小程序+支付宝小程序+安卓APP+苹果APP等如何下载安装新云人才系统?XYCMS安装教程:https://www.xycms.com/article/content/15.html

php中将字符串首字母进行大小写转换的方法有哪些

每个单词的首字母转换为大写:ucwords()<?php$foo = "hello world!";$foo = ucwords($foo); // Hello World!$bar = "HELLO WORLD!";$bar = ucwords($bar); // HELLO WORLD!$bar = ucwords(strtolower($bar)); // Hello World!?>相关视频教程推荐:php视频教程第一个单词首字母变大写:ucfirst()<?php$foo = "hello world!";$foo = ucfirst($foo); // Hello world!$bar = "HELLO WORLD!";$bar = ucfirst($bar); // HELLO WORLD!$bar = ucfirst(strtolower($bar)); // Hello world!?>第一个单词首字母变小写:lcfirst()<?php$foo = "HelloWorld";$foo = lcfirst($foo); // helloWorld$bar = "HELLO WORLD!";$bar = lcfirst($bar); // hELLO WORLD!$bar = lcfirst(strtoupper($bar)); // hELLO WORLD!?>知识点补充:所有字母变大写:strtoupper()所有字母变小写:strtolower()相关文章教程推荐:php教程

php怎么把字符串转换为大写

php把字符串转换为大写的方法:可以利用内置函数strtoupper()来进行转换。strtoupper()函数可以把指定的字符串转换为大写,并返回被转换为大写的字符串。使用函数:(学习视频推荐:php视频教程)strtoupper() 函数把字符串转换为大写,并返回转换为大写的字符串。语法:strtoupper(string)(相关推荐:php培训)代码实现:<?php$string = "Learn PHP string functions at phpcn";$lower = strtolower($string);$upper = strtoupper($string);print("$lower");print("$upper");print("");?>输出结果:learn php string functions at phpcnLEARN PHP STRING FUNCTIONS AT PHPCN

惠普6910P一按caplock键,音量键就自动调节音量甚至自动静音,还弹出 HP Info Center,求解

尊敬的惠普用户,您好!非常感谢您选择惠普产品。根据您的描述,建议您参考下列信息:1.建议尝试恢复bios默认值:请您开机(或重启)出现HP(或COMPAQ)界面时,不停点击F10进入BIOS,选择file---restore defaults---yes,再选择File --- Saving Changes & exit---yes。(如果之前在bios中进行过操作,请确认恢复bios默认值之后设置和之前一致)。2.您可以安装快捷键驱动,6910p笔记本官方驱动如下:ftp://ftp.hp.com/pub/softpaq/sp49001-49500/sp49104.exe3.如果上述操作无效,可以尝试联系hp金牌服务中心现场检修硬件。如果您需要查询惠普维修中心的联系方式,您可以使用下面的官方链接进行查询:http://stg.www8.hp.com/cn/zh/support-drivers/esupport/ascpps.html希望以上回复能够对您有所帮助。如果以上信息没有解决您的问题,您可以登陆hp网络在线聊天室www.hp.com.cn/chat,向在线工程师咨询,帮助您进一步解决问题。 更多产品信息资讯尽在www.hp.com.cn/800

基于java jsp asp php vb安卓系统毕业设计与实现论文源码下载?

工科生一般有一个毕业设计,做一个项目,同时需要写一个论文也就是毕业论文讲述设计工作中做了什么,为什么做,得到了什么结论等理论性的东西。文史哲以及经济等和理科生一般都是需要写一个论文,阐述清楚以及涉猎的学科研究方向中的理论,突破,收获等。大致这样吧

求助山东省17地市shp地图

山东省地图

hp笔记本电脑win7系统开机就停留在Logon画面怎么办,还有警报声?

出现您所述的“滴滴滴的声音”一般是机器的硬件报警声,出现这个声音一般和机器硬件出现故障有关,建议您可以尝试按下面的方法解决您遇到的问题:1、拔去机器外接及加装的硬件设备排除硬件方面的影响。2、重新插拔下机器的内存及硬盘。3、做静置操作:建议您关机,取下外接电源和电池,以及所有外接设备,静置半小时,释放一下静电,半小时后接上适配器开机4、恢复bios默认值:a.开机不停点击F10进入bios,选择exit选项,选择load setup defaults--yes.再选择Exit--exit saving changes--yes。(如果之前在bios中进行过操作,请确认恢复bios默认值之后设置和之前一致)b.或者选择请您开机(或重启)时,不停点击F10进入BIOS,选择file---restore defaults---yes,再选择File --- Saving Changes & exit---yes。

php如何将字符串转成json

可以通过json_encode()函数来实现。(推荐教程:php教程)函数介绍:PHP json_encode() 用于对变量进行 JSON 编码,该函数如果执行成功返回JSON数据,否则返回FALSE。语法:string json_encode ( $value [, $options = 0 ] )参数介绍:value: 要编码的值。该函数只对 UTF-8 编码的数据有效。代码实现:<?php class Emp { public $name = ""; public $hobbies = ""; public $birthdate = ""; } $e = new Emp(); $e->name = "sachin"; $e->hobbies = "sports"; $e->birthdate = date("m/d/Y h:i:s a", "8/5/1974 12:20:03 p"); $e->birthdate = date("m/d/Y h:i:s a", strtotime("8/5/1974 12:20:03")); echo json_encode($e);?>结果:{"name":"sachin","hobbies":"sports","birthdate":"08/05/1974 12:20:03 pm"}

php怎样将数组转换为json

php将数组转换为json的方法:可以使用json_encode()函数来进行转换。json_encode()函数可以对变量进行json编码,该函数如果执行成功则返回json数据,反之则返回false。函数介绍:json_encode() 用于对变量进行 JSON 编码,该函数如果执行成功返回 JSON 数据,否则返回 FALSE 。(推荐教程:php视频教程)语法:string json_encode ( $value [, $options = 0 ] )参数:value: 要编码的值。该函数只对 UTF-8 编码的数据有效。options:由以下常量组成的二进制掩码 JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT, JSON_PRESERVE_ZERO_FRACTION, JSON_UNESCAPED_UNICODE, JSON_PARTIAL_OUTPUT_ON_ERROR。(相关推荐:php培训)代码示例:<?php class Emp { public $name = ""; public $hobbies = ""; public $birthdate = ""; } $e = new Emp(); $e->name = "sachin"; $e->hobbies = "sports"; $e->birthdate = date("m/d/Y h:i:s a", "8/5/1974 12:20:03 p"); $e->birthdate = date("m/d/Y h:i:s a", strtotime("8/5/1974 12:20:03")); echo json_encode($e);?>运行结果:{"name":"sachin","hobbies":"sports","birthdate":"08/05/1974 12:20:03 pm"}

php怎样将对象转换为字符串

php将对象转换为字符串的方法:可以利用json_encode()函数来进行转换。json_encode()函数用于对变量进行json编码,该函数如果执行成功则返回json数据,否则返回false。json_encode()用于对变量进行JSON编码,该函数如果执行成功返回JSON数据,否则返回FALSE 。(推荐教程:php视频教程)语法:string json_encode ( $value [, $options = 0 ] )参数介绍:value: 要编码的值。该函数只对 UTF-8 编码的数据有效。options:由以下常量组成的二进制掩码:JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT, JSON_PRESERVE_ZERO_FRACTION, JSON_UNESCAPED_UNICODE, JSON_PARTIAL_OUTPUT_ON_ERROR。注意:JSON_UNESCAPED_UNICODE 选项,如果我们不希望中文被编码,可以添加该选项。(相关推荐:php培训)代码示例:<?php class Emp { public $name = ""; public $hobbies = ""; public $birthdate = ""; } $e = new Emp(); $e->name = "sachin"; $e->hobbies = "sports"; $e->birthdate = date("m/d/Y h:i:s a", "8/5/1974 12:20:03 p"); $e->birthdate = date("m/d/Y h:i:s a", strtotime("8/5/1974 12:20:03")); echo json_encode($e);?>输出结果:{"name":"sachin","hobbies":"sports","birthdate":"08/05/1974 12:20:03 pm"}

php里面函数rewind什么意思?

倒回文件指针的位置

MS-SHCUVGKHPNXZ是什么手机的型号

摩托罗拉MS(MileStone)开头的手机就是斩获无数大奖的“里程碑”摩托罗拉Milestone,这款可以和iPhone4叫板的手机受到了无数人的喜爱,极其霸气的外观和强悍的硬件配置让该机成为了摩托罗拉真正意义上的“里程碑”。这款产品的硬件配置与XT701相当,不过附带了非常舒服的键盘。由于摩托罗拉Milestone采用了Android智能操作系统,所以在扩张能力上极为出色。而600MHz ARM Cortex A8处理器,保证了该机的系统运行速度。最后值得一提的是一枚500万像素摄像头的加入,不仅支持自动对焦还配备双LED闪光灯,完全可以应对日常拍摄需求。

请问后缀为.hpg的文件是什么软件生成的文件,可以用哪些软件可以打开?

扩展名为.hpg的文件是一个Vector 图像文件。文件说明:Plotter file created in the Hewlett-Packard Graphics Language (HPGL); includes a line series of two-letter codes, such as SS, which declares the standard font for the plot; may include optional parameters with codes; used by various drawing programs to create printable plotter documents.HPG files are the same as .PLT files; they are stored using an ASCII text format..hpg 打开.hpg文件Mac OSIMSI TurboCAD Deluxe v5 WindowsIMSI TurboCAD Deluxe 17Autodesk AutoCADAutodsys IntelliCAD with HPGL Import pluginCADSoftTools 2D/3D CAD ViewerCorel WordPerfect Office X5Trix DrawingCenterIrfanView 

HP Compaq 8280 Elite mirotower驱动

您好!感谢您选择惠普产品。芯片组ftp://ftp.hp.com/pub/softpaq/sp50501-51000/sp50888.exe显卡驱动ftp://ftp.hp.com/pub/softpaq/sp51501-52000/sp51615.exe声卡驱动ftp://ftp.hp.com/pub/softpaq/sp51501-52000/sp51747.exe网卡驱动ftp://ftp.hp.com/pub/softpaq/sp54501-55000/sp54806.exePCI驱动ftp://ftp.hp.com/pub/softpaq/sp52001-52500/sp52247.exeTPMftp://ftp.hp.com/pub/softpaq/sp40501-41000/sp40553.exe 若您还有任何问题,请不要犹豫,随时追问,我们一定会竭尽全力协助您!

php如何生成不重复的随机数

php生成不重复随机数的方法:首先为数组的每个数字按其下标顺序赋值;然后开始取“[ i,$num-1 ]”范围内的随机数;最后在未改变的键值对中进行交替运算即可。推荐:《PHP视频教程》PHP高效生成一个不重复随机数PHP生成一个不重复随机数组的封装方法/** array unique_rand( int $min, int $max, int $num )* 生成一定数量的不重复随机数* $min 和 $max: 指定随机数的范围* $num: 指定生成数量*/function unique_rand($min, $max, $num) {//初始化变量为0$count = 0;//建一个新数组$return = array();while ($count < $num) {//在一定范围内随机生成一个数放入数组中$return[] = mt_rand($min, $max);//去除数组中的重复值用了“翻翻法”,就是用array_flip()把数组的key和value交换两次。这种做法比用 array_unique() 快得多。$return = array_flip(array_flip($return));//将数组的数量存入变量count中$count = count($return);}//为数组赋予新的键名shuffle($return);return $return;}该方法以每次获取随机数存入数组再去重...效率低下...不想用 PHP高效产生m个n范围内的不重复随机数(m<=n)注:在 《 Programming Pearls 》一书中也有提到,题目为 “如何高效产生m个n范围内的不重复随机数(m<=n)” 该算法非常巧妙的取随机数的位置(数组的下标),替代取随机数本身,每次取到一个随机数之后,就将其在取值范围中排除,下一次仅会在剩下的数字中取,一次遍历就可以完成随机数的选取,效率相当高。function rand_num($num="200"){for($i=0;$i<$num;$i++){$n[$i] = $i;}for($i=0;$i<$num;$i++){$rand = mt_rand($i,$num-1);//数组 随机数交换下标if($n[$i] == $i){$n[$i] = $n[$rand];$n[$rand] = $i;}}} 1.第一步,为数组的每个数字按其下标顺序赋值,获得一个 $num 个数字键值对应顺序排列的数组。 2.第二步,开始取范围[ i,$num-1 ]范围内的随机数$rand,并将获取到的随机数$rand作为数组中当前位置 键i对应下标的值$rand,将数组中 键$rand对应下标的值替换为 i,这其实就是数组键值交叉互换。意义是,将已经生成的随机数在取值范围[ i,$num-1 ]中排除,下次会在剩下的数字中[ i+1,num-1 ]取值。 3.第三步,为避免重复取值,只在未改变的键值对中进行交替运算,即在原数组顺序排列 (键==值) 的位置进行交替运算。 4.结束。 顺序排列数组部分交换过程如上图,获取10个随机数部分试例。

php中用post 往数据库添加信息,但是成功之后出现添加的数据显示为零

说明你写的sql语句有问题,最好先在数据库中执行下你写的sql语句,然后排查就快了

[HP]佩妮的txt全集下载地址

已发站内信,确认后请采纳

《[HP]佩妮》最新txt全集下载

已发送。

joomla如何去掉index.php

joomla去掉index.php的方法:首先登录Joomla管理后台;然后创建“.htaccess”文件;接着启用Apache的rewrite模块;最后直接去掉“index.php”即可。推荐:《PHP视频教程》Joomla的Url中去除index.php 最近在研究Joomla系统(一个著名的CMS系统),安装之后发现页面的URL中始终有一个index.php存在,感觉非常碍眼,决心将其除之而后快,废话少说,下面以2.5版本为例奉上去除步骤。 1. 登录管理后台,在“Site”->“Global Configuration”->“Site”中的“SEO Settings”中全部勾选“Yes”: 2. 创建.htaccess文件:将Joomla安装目录下面的htaccess.txt文件另存为.htaccess(注意,Windows下不能直接重命名,可以使用Notpad++等编辑器来另存为.htaccess即可)。 3. 启用Apache的rewrite模块:在apache安装目录下conf目录中的httpd.conf文件中开启mod_rewrite模块,具体修改方法:找到LoadModule rewrite_modulemodules/mod_rewrite.so行,将前面的#号去掉然后重启Apache即可。如果本来就没有#,则可以跳过本步骤。 4. 去掉index.php但是页面出现404 Not Found错误的解决方法:这是因为Apache中rewrite模块没有启用导致的,需要将httpd.conf中的AllowOverride None全部改成:AllowOverride All,然后重启Apache就可以了。

投影仪灯泡上的top和top osram是什么意思?有什么差别?明基PB8125适合哪种灯泡?是不是UHP?

popowaterwjw 您好PB8125采用飞利浦灯泡,可以联系当地ASP购买,建议您联系服务中心检测确认,具体联系方式可登陆明基中国网站 -》服务支持-》信息查询-》服务网点查询。BenQ超人

barbit,oragne,rpgea,atkhn,eenrg,ecahp,elppa,anbna,other这些一组一组的字母各能组成什么单词

rabbit orange,grape,thank,green, peach ,apple,banana,other

求HP-轮回最新章节

可以轮回转生8次 每次轮回送881点 一共811点 81. 开放除腰带以外的神器,圣衣,冥衣,神圣衣 88. 进阶8转后SP/HP增加:81% 88. 基本素质的最大:99 88.被怪打

php如何清除style样式

推荐:《PHP视频教程》清除html格式,去除html、css、js格式strip_tags($str) 去掉 HTML 及 PHP 的标记语法: string strip_tags(string str); 传回值: 字串 函式种类: 资料处理 内容说明 :解析:本函式可去掉字串中包含的任何 HTML 及 PHP 的标记字串。若是字串的 HTML 及 PHP 标签原来就有错,例如少了大于的符号,则也会传回错误。而本函式和 fgetss() 有着相同的功能PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。PHP清除html、css、js格式并去除空格的PHP函数function cutstr_html($string, $sublen) { $string = strip_tags($string); $string = preg_replace ("/ /is", "", $string); $string = preg_replace ("/ |/is", "", $string); $string = preg_replace ("//is", "", $string); preg_match_all("/[x01-x7f]|[xc2-xdf][x80-xbf]|xe0[xa0-xbf][x80-xbf]|[xe1-xef][x80-xbf][x80-xbf]|xf0[x90-xbf][x80-xbf][x80-xbf]|[xf1-xf7][x80-xbf][x80-xbf][x80-xbf]/", $string, $t_string); if(count($t_string[0]) - 0 > $sublen) $string = join("", array_slice($t_string[0], 0, $sublen))."?"; else $string = join("", array_slice($t_string[0], 0, $sublen)); return $string; }解析:这个函数既有去除html标签、css样式、js、空格等格式的功能(格式化html文本)也有截取字符串的功能。htmlspecialchars 将特殊字元转成 HTML 格式语法: string htmlspecialchars(string string); 传回值: 字串 函式种类: 资料处理 内容说明 解析:本函式将特殊字元转成 HTML 的字串格式 ( &....; )。最常用到的场合可能就是处理客户留言的留言版了。 & (和) 转成 & " (双引号) 转成 " < (小于) 转成 < > (大于) 转成 >此函式只转换上面的特殊字元,并不会全部转换成 HTML 所定的 ASCII 转换。 使用范例 <FORM ACTION="./../b"la><H2>Restaurant Description<H2>Name of restaurant:<INPUT TYPE=text NAME="restname" VALUE="<?echo HTMLSpecialChars($restname); ?>"> <!-- 变数 $restname 是酱子的 $restname=""The White Horse""; --><BR>输入描述 (若您会 HTML,可直接使用): <BR><TEXTAREA NAME="descript"><?echo HTMLSpecialChars($descript);?></TEXTAREA> <INPUT TYPE=submit></FORM>htmlentities 将所有的字元都转成 HTML 字串 语法: string htmlentities(string string); 传回值: 字串 函式种类: 资料处理 内容说明 解析:本函式有点像 htmlspecialchars() 函式,但本函式会将所有 string 的字元都转成 HTML 的特殊字集字串。不过在转换后阅读网页原始码的方面,会有很多困扰,尤其是网页原始码的中文字会变得不知所云,浏览器上看到的还是正常的。php 去除html标签 js 和 css样式 - 最爱用的一个PHP清楚html格式函数Function ClearHtml($content) { $content = preg_replace("/<a[^>]*>/i", "", $content); $content = preg_replace("/</a>/i", "", $content); $content = preg_replace("/<div[^>]*>/i", "", $content); $content = preg_replace("/</div>/i", "", $content); $content = preg_replace("/<!--[^>]*-->/i", "", $content);//注释内容 $content = preg_replace("/style=.+?["|"]/i","",$content);//去除样式 $content = preg_replace("/class=.+?["|"]/i","",$content);//去除样式 $content = preg_replace("/id=.+?["|"]/i","",$content);//去除样式 $content = preg_replace("/lang=.+?["|"]/i","",$content);//去除样式 $content = preg_replace("/width=.+?["|"]/i","",$content);//去除样式 $content = preg_replace("/height=.+?["|"]/i","",$content);//去除样式 $content = preg_replace("/border=.+?["|"]/i","",$content);//去除样式 $content = preg_replace("/face=.+?["|"]/i","",$content);//去除样式 $content = preg_replace("/face=.+?["|"]/","",$content);//去除样式只允许小写正则匹配没有带 i 参数 return $content;}

PHP怎么实现微信申请退款

前面讲了怎么实现微信支付,详见相关文章:PHP实现微信支付(jsapi支付)流程 和ThinkPHP中实现微信支付(jsapi支付)流程。由于业务需求,还需要有微信退款,经过研究和摸索,也终于搞定了。前期准备:当然是搞定了微信支付,不然怎么退款,这次还是使用官方的demo。当然网上可能也有很多大神自己重写和封装了demo,或许更加好用简洁,但是我还是不提倡用,原因如下:(1)可能功能不全,或许他只是实现了微信支付,但是还有申请退款、查询退款、订单查询、撤销订单等业务功能可能是你后续需要的,如果你依赖于大神的SDK的便捷,如果有新的业务需求,你就懵逼了;(2)安全考虑,涉及到支付涉及到金钱,必须要非常安全。官方SDK虽然我也吐槽,但至少会相对比较安全,再次重写,虽然暂时没看出问题,但是万一有漏洞就不好了。本篇还是使用到官方提供的SDK中的最重要的一个类文件WxPay.Api.php中提供的refund()方法来实现,此方法在WxPay.Api.php文件的第141行,代码如下:/** * * 申请退款,WxPayRefund中out_trade_no、transaction_id至少填一个且 * out_refund_no、total_fee、refund_fee、op_user_id为必填参数 * appid、mchid、spbill_create_ip、nonce_str不需要填入 * @param WxPayRefund $inputObj * @param int $timeOut * @throws WxPayException * @return 成功时返回,其他抛异常 */public static function refund($inputObj, $timeOut = 6){$url = "https://api.mch.weixin.qq.com/secapi/pay/refund";//检测必填参数if(!$inputObj->IsOut_trade_noSet() && !$inputObj->IsTransaction_idSet()) {throw new WxPayException("退款申请接口中,out_trade_no、transaction_id至少填一个!");}else if(!$inputObj->IsOut_refund_noSet()){throw new WxPayException("退款申请接口中,缺少必填参数out_refund_no!");}else if(!$inputObj->IsTotal_feeSet()){throw new WxPayException("退款申请接口中,缺少必填参数total_fee!");}else if(!$inputObj->IsRefund_feeSet()){throw new WxPayException("退款申请接口中,缺少必填参数refund_fee!");}else if(!$inputObj->IsOp_user_idSet()){throw new WxPayException("退款申请接口中,缺少必填参数op_user_id!");}$inputObj->SetAppid(WxPayConfig::APPID);//公众账号ID$inputObj->SetMch_id(WxPayConfig::MCHID);//商户号$inputObj->SetNonce_str(self::getNonceStr());//随机字符串$inputObj->SetSign();//签名$xml = $inputObj->ToXml();$startTimeStamp = self::getMillisecond();//请求开始时间$response = self::postXmlCurl($xml, $url, true, $timeOut);$result = WxPayResults::Init($response);self::reportCostTime($url, $startTimeStamp, $result);//上报请求花费时间return $result;}官方的方法,写的很清楚需要哪些参数,还有一些必须参数SDK已经帮我们补齐了,我将这个方法重新封装一下,便于在项目中调用:/** * 微信退款 * @param string $order_id 订单ID * @return 成功时返回(array类型),其他抛异常 */function wxRefund($order_id){//我的SDK放在项目根目录下的Api目录下require_once APP_ROOT."/Api/wxpay/lib/WxPay.Api.php";//查询订单,根据订单里边的数据进行退款$order = M("order")->where(array("id"=>$order_id,"is_refund"=>2,"order_status"=>1))->find();$merchid = WxPayConfig::MCHID;if(!$order) return false;$input = new WxPayRefund();$input->SetOut_trade_no($order["order_sn"]);//自己的订单号$input->SetTransaction_id($order["transaction_id"]); //微信官方生成的订单流水号,在支付成功中有返回$input->SetOut_refund_no(getrand_num(true));//退款单号$input->SetTotal_fee($order["total_price"]);//订单标价金额,单位为分$input->SetRefund_fee($order["total_price"]);//退款总金额,订单总金额,单位为分,只能为整数$input->SetOp_user_id($merchid);$result = WxPayApi::refund($input);//退款操作// 这句file_put_contents是用来查看服务器返回的退款结果 测试完可以删除了//file_put_contents(APP_ROOT."/Api/wxpay/logs/log3.txt",arrayToXml($result),FILE_APPEND);return $result;}这里需要吐槽一下,竟然不说返回值的类型,在支付的时候返回的是XML数据,这里竟然返回的是数组,让我措手不及,哈哈不过还是返回数组比较好,可以直接判断处理。方法调用就更加简单了://微信退款$result = wxRefund($order_id);// 这句file_put_contents是用来查看服务器返回的退款结果 测试完可以删除了//file_put_contents(APP_ROOT."/Api/wxpay/logs/log4.txt",arrayToXml($result),FILE_APPEND);if(($result["return_code"]=="SUCCESS") && ($result["result_code"]=="SUCCESS")){//退款成功}else if(($result["return_code"]=="FAIL") || ($result["result_code"]=="FAIL")){//退款失败//原因$reason = (empty($result["err_code_des"])?$result["return_msg"]:$result["err_code_des"]);}else{//失败}退款成功返回如下:亲测无误:这是集成了官方的SDK实现的,如果不使用SDK,可以使用更简单的方法,见:PHP实现微信支付(jsapi支付)和退款(无需集成支付SDK)更多PHP相关知识,请访问PHP教程!

微信v3扫码支付二返回的notify.php怎么接收回调的值

  其实在写这篇文章的时候感觉自己已经落伍了,不过笔者在百度上搜索"微信支付开发之扫描支付(模式二)后如何回调"寻找答案时,发现依旧有很多朋友没有解决这个问题,所以就把自己的解决思路分享给大家。  一、下载微信支付SDK(笔者以php发开为例,sdk包为WxpayAPI_php_v3.zip)下载SDK包后解压,在解压目录下,我们会看到如下目录二、查阅微信支付开发者文档后得知,微信扫码支付的demo即为example目录下的native.php文件为了方便,我们要做的是将整个解压后的文件放入到本地环境的根目录下的wxpay(可随个人喜好命名)文件夹中三、以笔者为例,在浏览器中输入http://localhost/wxpay/example/native.php打开上面网址后,发现有两个二维码,如题,我们今天研究的是模式二扫码(官方也推荐模式二扫码支付)四、我们用手机登陆微信,扫描上面页面中的模式二的二维码,并且支付在这里我们发现一个有趣的问题,当你支付成功后,PC页面中并没有发生任何变化,所以我们考虑的主要问题是,支付后如何进行回调。  这里不说多的废话了,笔者参考了网上的诸多方法,总结如下:  1、删掉native.php文件中扫码模式一的一些html,只剩下扫码模式二的一些相关html代码。  2、由于官方文档中也说明了,扫码模式二的支付结果是异步响应,不会主动返回支付结果,所以我们采用了javascript去时时监听支付结果,然后根据请求的结果,在做下一步的页面回调。笔者最终代码如下,有兴趣的朋友可以参考下:  native.php文件  复制代码  1 <?php  2 ini_set("date.timezone","Asia/Shanghai");3 //error_reporting(E_ERROR);  4  5 require_once "../lib/WxPay.Api.php";  6 require_once "WxPay.NativePay.php";  7 require_once "log.php";  8  9 //模式一  10 /**  11 * 流程:  12 * 1、组装包含支付信息的url,生成二维码13 * 2、用户扫描二维码,进行支付  14 * 3、确定支付之后,微信服务器会回调预先配置的回调地址,在【微信开放平台-微信支付-支付配置】中进行配置15 * 4、在接到回调通知之后,用户进行统一下单支付,并返回支付信息以完成支付(见:native_notify.php)16 * 5、支付完成之后,微信服务器会通知支付成功17 * 6、在支付成功通知中需要查单确认是否真正支付成功(见:notify.php)18 */  19 $notify = new NativePay();  20 $url1 = $notify->GetPrePayUrl("123456789");21  22 //模式二  23 /**  24 * 流程:  25 * 1、调用统一下单,取得code_url,生成二维码26 * 2、用户扫描二维码,进行支付  27 * 3、支付完成之后,微信服务器会通知支付成功28 * 4、在支付成功通知中需要查单确认是否真正支付成功(见:notify.php)29 */  30 $input = new WxPayUnifiedOrder();  31 $input->SetBody("1分钱购买何宁");  32 $input->SetAttach("1分钱购买何宁");  33 $num=WxPayConfig::MCHID.date("YmdHis");34 $input->SetOut_trade_no($num);  35 $input->SetTotal_fee("1");  36 $input->SetTime_start(date("YmdHis"));37 $input->SetTime_expire(date("YmdHis", time() + 600));38 $input->SetGoods_tag("test");  39 $input->SetNotify_url("http://paysdk.weixin.qq.com/example/notify.php");40 $input->SetTrade_type("NATIVE");  41 $input->SetProduct_id("123456789");  42 $result = $notify->GetPayUrl($input);  43 $url2 = $result["code_url"];  44 ?>  45  46 <html>  47 <head>  48 <meta http-equiv="content-type" content="text/html;charset=utf-8"/>  49 <meta name="viewport" content="width=device-width, initial-scale=1" />  50 <title>微信支付样例</title>  51 </head>  52 <body>  53 <div style="margin-left: 10px;color:#556B2F;font-size:30px;font-weight: bolder;">扫描支付模式二</div><br/>  54 <img alt="模式二扫码支付" src="qrcode.php?data=<?php echo urlencode($url2);?>" style="width:150px;height:150px;"/>  55 <div id="myDiv"></div><div id="timer">0</div>  56 <script>  57 //设置每隔1000毫秒执行一次load() 方法58 var myIntval=setInterval(function(){load()},1000);59 function load(){  60 document.getElementById("timer").innerHTML=parseInt(document.getElementById("timer").innerHTML)+1;61 var xmlhttp;  62 if (window.XMLHttpRequest){  63 // code for IE7+, Firefox, Chrome, Opera, Safari64 xmlhttp=new XMLHttpRequest();65 }else{  66 // code for IE6, IE5  67 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");68 }  69 xmlhttp.onreadystatechange=function(){70 if (xmlhttp.readyState==4 && xmlhttp.status==200){71 trade_state=xmlhttp.responseText;72 if(trade_state=="SUCCESS"){73 document.getElementById("myDiv").innerHTML="支付成功";74 //alert(transaction_id);75 //延迟3000毫秒执行tz() 方法76 clearInterval(myIntval);77 setTimeout("location.href="success.php"",3000);78  79 }else if(trade_state=="REFUND"){80 document.getElementById("myDiv").innerHTML="转入退款";81 clearInterval(myIntval);82 }else if(trade_state=="NOTPAY"){83 document.getElementById("myDiv").innerHTML="请扫码支付";84  85 }else if(trade_state=="CLOSED"){86 document.getElementById("myDiv").innerHTML="已关闭";87 clearInterval(myIntval);88 }else if(trade_state=="REVOKED"){89 document.getElementById("myDiv").innerHTML="已撤销";90 clearInterval(myIntval);91 }else if(trade_state=="USERPAYING"){92 document.getElementById("myDiv").innerHTML="用户支付中";93 }else if(trade_state=="PAYERROR"){94 document.getElementById("myDiv").innerHTML="支付失败";95 clearInterval(myIntval);96 }  97  98 }  99 }  100 //orderquery.php 文件返回订单状态,通过订单状态确定支付状态101 xmlhttp.open("POST","orderquery.php",false);102 //下面这句话必须有  103 //把标签/值对添加到要发送的头文件。  104 xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");105 xmlhttp.send("out_trade_no=<?php echo $num;?>");106  107 }  108 </script>  109  110 </body>  111 </html>  复制代码  orderquery.php代码也做了相应调整:  <?php  ini_set("date.timezone","Asia/Shanghai");error_reporting(E_ERROR);  require_once "../lib/WxPay.Api.php";  require_once "log.php";  //初始化日志  $logHandler= new CLogFileHandler("./logs/".date("Y-m-d").".log");$log = Log::Init($logHandler, 15);  function printf_info($data)  {  foreach($data as $key=>$value){  echo "<font color="#f00;">$key</font> : $value <br/>";}  }  if(isset($_REQUEST["transaction_id"]) && $_REQUEST["transaction_id"] != ""){$transaction_id = $_REQUEST["transaction_id"];$input = new WxPayOrderQuery();  $input->SetTransaction_id($transaction_id);//printf_info(WxPayApi::orderQuery($input));$result=WxPayApi::orderQuery($input);  echo $result["trade_state"];  exit();  }  if(isset($_REQUEST["out_trade_no"]) && $_REQUEST["out_trade_no"] != ""){$out_trade_no = $_REQUEST["out_trade_no"];$input = new WxPayOrderQuery();  $input->SetOut_trade_no($out_trade_no);  //printf_info(WxPayApi::orderQuery($input));$result=WxPayApi::orderQuery($input);  echo $result["trade_state"];  exit();  }  ?>  新建success.php文件:  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <html xmlns="http://www.w3.org/1999/xhtml">  <head>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  <title>微信支付成功</title>  </head>  <body>  <br /><br /><br /><br /><br /><br /><br />  <h1>微信支付成功</h1>  </body>  </html>

php 数组序列化

<?php$string = "a:7:{i:0;O:8:"stdClass":2:{s:3:"key";s:12:"学员姓名";s:5:"value";s:6:"哈哈";}i:1;O:8:"stdClass":2:{s:3:"key";s:107:"参加过这次疯狂家族夏令营后,是否可以吸引你对科学课程(物理化学生物)的兴趣";s:5:"value";s:9:"有兴趣";}i:2;O:8:"stdClass":2:{s:3:"key";s:57:"对於疯狂家族夏令营的讲师之教学满意度。";s:5:"value";s:6:"喜欢";}i:3;O:8:"stdClass":2:{s:3:"key";s:48:"对於助教哥哥、姊姊之服务满意度。";s:5:"value";s:12:"非常喜欢";}i:4;O:8:"stdClass":2:{s:3:"key";s:51:"对於我们今天准备的午餐,你是否喜欢";s:5:"value";s:0:"";}i:5;O:8:"stdClass":2:{s:3:"key";s:72:"明年寒假您是否愿意继续参加疯狂家族冬令营的活动。";s:5:"value";s:6:"愿意";}i:6;O:8:"stdClass":2:{s:3:"key";s:81:"想对讲师大哥哥大姊姊们讲的话、爸妈想对疯狂家族的建议:";s:5:"value";s:9:"不知道";}}";var_dump(unserialize($string));?>这样就可以了

phpexcel导入大数据内存溢出的解决方法有哪些

PHPExcel版本:1.7.6+在不进行特殊设置的情况下,phpExcel将读取的单元格信息保存在内存中,我们可以通过PHPExcel_Settings::setCacheStorageMethod()来设置不同的缓存方式,已达到降低内存消耗的目的!相关视频教程推荐:php入门教程解决方案:1、将单元格数据序列化后保存在内存中PHPExcel_CachedObjectStorageFactory::cache_in_memory_serialized;2、将单元格序列化后再进行Gzip压缩,然后保存在内存中PHPExcel_CachedObjectStorageFactory::cache_in_memory_gzip;3、缓存在临时的磁盘文件中,速度可能会慢一些PHPExcel_CachedObjectStorageFactory::cache_to_discISAM;4、保存在php://tempPHPExcel_CachedObjectStorageFactory::cache_to_phpTemp;5、保存在memcache中PHPExcel_CachedObjectStorageFactory::cache_to_memcache;$cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_memcache; $cacheSettings = array( "memcacheServer" => "localhost", "memcachePort" => 11211, "cacheTime" => 600 ); PHPExcel_Settings::setCacheStorageMethod($cacheMethod, $cacheSettings);注意是加在new PHPExcel()前面,如下:require_once APPPATH ."third_party/PHPExcel/PHPExcel.php";$cacheMethod = PHPExcel_CachedObjectStorageFactory::cache_to_phpTemp;$cacheSettings = array("memoryCacheSize"=>"16MB");PHPExcel_Settings::setCacheStorageMethod($cacheMethod, $cacheSettings);$objPHPExcel = new PHPExcel();推荐相关文章教程:php教程

go shpping和do some shopping的区别

g%hib:

php 方法里边能否嵌套方法

可以,方法调方法

为什么在工程师鄙视链里面所有工程师鄙视php工程师?

有人的地方就有江湖。有江湖的地方就有厮杀。程序员之间的厮杀,从未停止过!最近程序员鄙视链,刷屏了~我相信程序员的内心是这样的:不是说好了的吗?PHP是世界上最好的语言!翻翻知乎上的讨论:写java的看不起php程序员!用c++的看不起php程序员!会python的看不起php程序员!php拉低了程序员水平!哼!哼!你敢说C不好?会有人告诉你C语言是计算机世界的基石,地球离开C不行你敢说C++不好?轮子哥第一个不愿意,带着他的五十万信徒给你解释什么叫做 C++ PRIMER 5th强势审校你敢说Java不好?阿里大牛跳出来说整个马云帝国都是建在Java基础上你敢说C#不好?知乎几个大V会拉几篇看不懂的quora文章来告诉你C#在海外发展的多好多好你敢说PHP不好?说就说呗,没人站出来!为什么没人站出来?主要原因是PHP程序员大多在接私活很忙呐!很难接私活的JAVA,C#程序员才会在论坛,qq群,瞎BB!你们说是不是??不过小编最后要说:对于一个真正好的程序员来说,用什么样的编程语言可能决定了技术的学习方向,但是最终,任何语言都仅仅是表达思想的载体。独孤求败的最终境界,摘叶飞花皆可为剑。最后的最后:少年,我看你骨骼惊奇,28天PHP视频教程免费赠送(有源码)送给你!以后为php站出来正(si)名(bi)的任务就交给你了。领取方式:私信小编就行!

php动态生成html标签与CSS问题。

p{ color: #00F;}<?php echo "<p> im create by php </p>"; //少一个结束分号?>再坚持下HTML引入的CSS外部文件路径是否正确DIVCSS5解答

不小心把hp本本自带的power 2go 和power director 卸载了

你不要怕,WUSA!!!对你不会有影响的!!!! 放轻松哦 !!!!

这段php代码是什么意思?

整个代码是用来过滤恶意注入的。if(isset($_REQUEST["GLOBALS"]) || isset($_FILES["GLOBALS"])) exit("Request Denied");这一行是发现有恶意的全局变量提交上来就拦截。@set_magic_quotes_runtime(0);$MQG = get_magic_quotes_gpc();这里是读取系统环境变量foreach(array("_POST", "_GET", "_COOKIE") as $__R) {这个是新建一个数组,三个值就在上面了。 if(isset($$__R)) { foreach($$__R as $__k => $__v) { if(isset($$__k) && $$__k == $__v) unset($$__k); }估计难的就是这里吧。。$__R 在第一次循环时,值是 _POST 前面再加一个 $ 即 $_POST如果 $_POST 已经赋值,这个有点多余,因为这是内置变量,一定存在的。之后把 $$__R 分别看成 $_POST $_GET 啥的即可,拆分 $_POST 每个值到 $__V 里,索引存到 $__K 里。如果有 $_POST["a"] = "b"; 那 $__K 就是 a ,$__V 就是 b。下面是同样的意思。如果 $($__K) 即 $a 已经存在,并且这个变量的值和现在 POST 过来的值相同,就把原来的变量注销掉。只保留 POST 过来的那个变量。也就是说,如果代码原来有 $a="b" 现在又提交了一个 $_POST["a"]="b"; 现在就删掉原来的 $a 保留 POST 的那个。这是用于别人已经成功注入的情况下,可以把他们已经注入的变量干掉。 if(!$MQG)$$__R = daddslashes($$__R);上面这个是检查环境变量,魔法引号是否开启,如果没有开启的话,过滤整个 $_POST(GET COOKIE) $$__R = strip_sql($$__R); $$__R = dsafe($$__R);上面这两个是自定义过滤,看样子是过滤 SQL 注入啥的。原理同上。 }}希望能解决您的问题。

arcgis怎样把mxd转换成shp格式

mxd文档是地图文档格式,里面存储的是数据进行成图后的各种参数,颜色,比例尺等,不是空间数据类型,无法转换,只能再次数字化。

ArcGIS设置mxd中的shp等文件使用相对路径

mxd中的引入文件默认使用绝对路径。比如建立了无标题.mxd存放在d:map;里面包含了一个test.shp文件,同样存放在d:map。 当你把整个map文件夹复制到其他机器使用时。假设复制到的路径为e:arcgisoutput。这时候打开这个mxd文件。发现里面的test.shp需要你重新设置数据源才能使用了。 设置方法是:在“Layer Properties”对话框中,点击“Set Data Source”,找到相应图层文件后点击“Add”。为避免上述复制到其他地址后找不到文件的情况发生。将mxd中的引用文件设为相对路径引用,做法如下:上述设置后,保存的mxd将以相对路径加载shp文件

php如何实现修改密码

php修改密码:推荐:php服务器html代码:<div id="tbx""> <div id="xgmm" class="gnq"> <br /><br /> <div style="font-size:10px; color:#999; float:left;margin-left: 12%;">提示:确认修改密码后将跳转到登录页面重新登录</div> <div style="clear:both"></div> <br /> <form action="xgmm.php" method="post" class="form-horizontal" role="form"> <div class="form-group"><!--原始密码--> <label for="firstname" class="col-sm-3 control-label">请输入原始密码</label> <div class="col-sm-5"> <input type="text" class="form-control" id="ysmm" placeholder="请输入原始密码"> </div> <span class="col-sm-4 ts" id="ysmmts"></span> </div> <div class="form-group"><!--新密码--> <label for="lastname" class="col-sm-3 control-label">请输入新密码</label> <div class="col-sm-5"> <input type="text" class="form-control" id="xmm" name="xmm" placeholder="请输入新密码"> </div> <span class="col-sm-4 ts" id="xmmts"></span> </div> <div class="form-group"><!--确认新密码--> <label for="lastname" class="col-sm-3 control-label">请重新输入新密码</label> <div class="col-sm-5"> <input type="text" class="form-control" id="qrxmm" name="qrxmm" placeholder="请重新输入新密码"> </div> <span class="col-sm-4 ts" id="qrxmmts"></span> </div> <div class="form-group"><!--确认修改按钮--> <div class="col-sm-offset-2 col-sm-6"> <button id="qrxg" type="submit" class="btn btn-primary">确认修改</button> </div> </div> </form> </div> </div>jquery部分$("#ysmm").blur(function(){ysmm();}); $("#xmm").keyup(function(){xmm();}); function ysmm(){ var a = true; var ysmm = $("#ysmm").val(); if(ysmm==""){ $("#ysmmts").html("您输入的原始密码为空!"); a = false; } else{ $.ajax({ async:false, url:"ysmm.php", data:{ysmm:ysmm}, type:"POST", dataType:"TEXT", success:function(data){ if(data.trim()==0) { $("#ysmmts").html(""); } else if(data.trim()==1) { $("#ysmmts").html("您输入的原始密码有误!"); a = false; } } }) } return a; } function xmm(){ var xmm = $("#xmm").val(); var b = true; $.ajax({ async:false, url:"xmm.php", data:{xmm:xmm}, type:"POST", dataType:"TEXT", success:function(data){ //alert(data); if(data.trim()==0) { $("#xmmts").html("您输入的新密码弱爆啦!换一个吧"); b = false; } else if(data.trim()==1) { $("#xmmts").html("您输入的新密码强度强强强!"); } else if(data.trim()==2) { $("#xmmts").html("您输入的新密码强度强!"); } else if(data.trim()==3) { $("#xmmts").html("您输入的新密码强度中!"); } else if(data.trim()==4) { $("#xmmts").html("您输入的新密码强度中!"); } else if(data.trim()==5) { $("#xmmts").html("您输入的新密码强度弱!"); } } }); return b; } //修改密码的确认修改按钮的对应事件 $("#qrxg").click(function(){ var qrxmm = $("#qrxmm").val(); var xmm1 = $("#xmm").val(); var ysmm1 = $("#ysmm").val(); if(xmm1 != qrxmm) { $("#qrxmmts").html("您输入的新密码不一致!"); return false; } if(xmm1=="" && ysmm1=="") { $("#ysmmts").html("您输入的原始密码为空!"); $("#xmmts").html("您输入的新密码为空!"); return false; } else if(xmm1=="" || ysmm1=="" ) { if(xmm1=="") { $("#xmmts").html("您输入的新密码为空!"); return false; } else if(ysmm1=="") { $("#ysmmts").html("您输入的原始密码为空!"); return false; } } else if(xmm1==ysmm1) { $("#xmmts").html("您输入的新密码与原始密码相同!"); return false; } else if(ysmm() && xmm()) { return true; } else { return false; } });原始密码部分的验证 ysmm.hpp<?phpsession_start();include("DBDA.class.php");$db = new DBDA();if(!empty($_SESSION["uid"])){ $num = $_SESSION["uid"]; $sql = "select pwd from login where uid="{$uid}" "; $res = $db->Query($sql);}if(!empty($_POST["ysmm"])){$ysmm = $_POST["ysmm"];if($ysmm==$res[0][0])//输入的原始密码与当前登录者的原始密码相同{ echo 0; }else{ echo 1; }}新密码验证部分 xmm.php<?phpif(!empty($_POST["xmm"])){ $str = $_POST["xmm"]; if(strlen($str)<3) {echo 0;} else { if(preg_match("/[|*|.|=|+|-|]+/",$str) && preg_match("/[A-Z]+/",$str) && preg_match("/[a-z]+/",$str) && preg_match("/[0-9]+/",$str)) { echo 1; } else if(preg_match("/[A-Z]+/",$str) && preg_match("/[a-z]+/",$str) && preg_match("/[0-9]+/",$str)) { echo 2; } else if(preg_match("/[A-Z]+/",$str) && preg_match("/[0-9]+/",$str)) { echo 3; } else if(preg_match("/[a-z]+/",$str) && preg_match("/[0-9]+/",$str)) { echo 4; } else if(preg_match("/[0-9]+/",$str)) { echo 5; } }}

php str_replace替换函数如何替换多个内容

(一)$new_str=str_replace("xxx","bbb","aaaxxxaaa");echo$new_str;//aaabbbaaa(二)$new_str=str_replace(array("xxx","yyy"),"bbb","aaaxxxaaayyyaaa");echo$new_str;//aaabbbaaabbbaaa(三)$new_str=str_replace(array("xxx","yyy"),array("bbb","ccc"),"aaaxxxaaayyyaaa");echo$new_str;//aaabbbaaacccaaa当然,str_replace的第三个参数也可以是数组

为什么可以被FlashPlayer启动的类必须继承自Sprite或MovieClip

我们编译一个ActionScript3类(Class)成为swf,如果想让该swf能够被FlashPlayer直接启动执行,那么该类必须继承自Sprite或MovieClip。为什么?FlashPlayer是swf文件的运行环境,解释器。它规定了启动类必须继承自Sprite或MovieClip。FlashPlayer执行某个swf的时候,首先动态创建舞台(Stage),然后找到启动类,实例化它,并将它作为显示列表的成员,结构上被加到Stage下方。这说明:启动类必须是个显示类(DisplayObject)。swf程序有很多显示对象要展现,通常这些显示对象要加入到显示列表中,结构上被加到启动类对象的下面。于是启动类必须是个容器才行。只要符合上面两个特点,那么就能够作为启动类。我们知道,ActionScript3的显示类的继承关系图中,Sprite是最“原始”的容器类,没有时间轴的概念,只有一帧;而MovieClip派生自Sprite,有时间轴,可以有多帧。其他一切容器类皆根据用途派生自它们其中一个。它们是符合启动类要求的最基本的类。于是乎。。。我们可以通过实验验证这一点:======================================================================================通过FlashBuilder创建ActionScript项目:startClass。编译下面程序,得到startClass.swf,鼠标双击运行,你会看到一个灰色的圆,说明该程序被启动了。如果你将startClass的基类改成Sprite或MovieClip之外的显示类(比如Shape),运行就会报错:TypeError: Error #2023: 类 startClass$ 必须继承 Sprite 才能链接到根。startClass.aspackage { import flash.display.Shape; public class startClass extends Shape { public function startClass() { //画个圆圈 this.graphics.clear(); this.graphics.beginFill(0x999999); this.graphics.drawCircle(100,100,100); } } }

如何修改flash builder 默认运行flashplayer 版本

1.简单设置在SWF文件下,右击,打开方式,选择程序。浏览,找到flashplayer.exe程序,勾选“始终使用选择的程序打开这种文件”,确定。2.高级设置控制面板,文件夹选项,文件类型。找到SWF扩展名,高级(如果没有高级,则先点击还原),选择Open,编辑,浏览,找到FlashPlayer.exe程序。确定,确定。如果要更改图标,则点击更改图标,找到你需要的图标,或带有图标的程序,选择一种图标,确定。如果要在右键菜单中添加打开的方式按钮,可以点新建,操作框中任意输入(输入的内容为按钮的名称),浏览,指定要打开该类型文件的程序。

docker下如何搭建MySQL+php-fpm+nginx容器环境,本文详解

配置容器(进入容器)docker exec -it your_mysql bash进入之后,要对用户进行授权,以便使用远程连接连接mysql 输入密码:ziqin666执行如下命令GRANT ALL PRIVILEGES ON *.* TO "root"@"localhost" IDENTIFIED BY "ziqin666";GRANT ALL PRIVILEGES ON *.* TO "root"@"%" IDENTIFIED BY "ziqin666";GRANT ALL PRIVILEGES ON *.* TO "root"@"127.0.0.1" IDENTIFIED BY "ziqin666";FLUSH PRIVILEGES;此时可以使用客户端连接一下看看。(一定要把安全组规则对应端口打开)二、构建php-fpm容器准备工作php.ini 默认是不存在的在/home/app/phpfile文件夹下创建 php.ini文件和conf.d文件夹创建容器 docker run -p 9000:9000 --name your_phpfpm -v /home/app/html:/var/www/html -v /home/app/phpfile:/usr/local/etc/php --link your_mysql:mysql -d php:5.6-fpm命令说明:--name your_phpfpm: 将容器命名为 your_phpfpm。-v /home/app/html:/var/www/html: 将主机中项目的目录 /home/app/html 挂载到容器的 /var/www/html安装 pdo 以便后边测试数据库连接,在docker的php容器中可以这样来安装docker-php-ext-install pdo_mysql安装其他插件也可以使用这种办法并加入到php.iniextension=php_curl.dllextension=php_gd2.dllextension=php_mysql.dllextension=php_mysqli.dllextension=php_pdo_mysql.dllextension=php_pdo_odbc.dllextension=php_pdo.dll如果插件还不够就需要自己定制镜像FROM php:7.0.12-fpmMAINTAINER Tairy <tairyguo@gmail.com>WORKDIR /workingRUN apt-get update --fix-missing && apt-get install -y g++ autoconf bash git apt-utils libxml2-dev libcurl3-dev pkg-config && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone && docker-php-ext-install iconv curl mbstring xml json mcrypt mysqli pdo pdo_mysql zip && docker-php-ext-configure gd --with-gd --with-freetype-dir=/usr/include/ --with-png-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && docker-php-ext-install gd && docker-php-ext-enable gd && pecl install /pecl/redis-3.0.0.tgz && docker-php-ext-enable redis && apt-get purge -y --auto-remove && rm -rf /var/cache/apt/* && rm -rf /var/lib/apt/lists/* && rm -rf /pecl三、安装nginx配置文件目录:/home/app/nginx/conf.d(注释:没有的文件自主创建哈)在配置文件目录新建 default.confserver{listen 80;server_name localhost;location / { root /usr/share/nginx/html; index index.html index.htm; }location ~ .php$ { fastcgi_pass your_phpfpm:9000; #此处写docker里边php 的名称: your_phpfpmfastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;include fastcgi_params; } error_page 500 502 503 504 /50x.html;location = /50x.html {root /usr/share/nginx/html;}}创建容器docker run -p 81:80 --name your_nginx -v /home/app/nginx/www:/usr/share/nginx/html -v /home/app/nginx/conf.d:/etc/nginx/conf.d --link your_phpfpm:phpfpm -d nginx:latest映射容器中的phpfpm和mysql都为固定,不能修改!这里需要配置nginx使用用户,即把/etc/nginx/nginx.conf里的nginx用户修改为www-data,同时把/home/app/nginx/www下的文件所有者改为www-data:www_data,否则访问会有权限问题chown -R www-data:www-data www四 、 测试1、查看服务docker ps -aSTATUS 皆为up ,即运行中2、测试 php解析在宿主机/home/app/nginx/www/目录下修改 index.php 文件。<?php echo phpinfo();3、测试mysql 链接修改 index.php<?php//echo phpinfo();$dbms="mysql"; //数据库类型$host="your_mysql"; //数据库主机名,此处写mysql 容器的名字$dbport = "3306";$dbName="mysql"; //使用的数据库$user="root"; //数据库连接用户名$pass="123456"; //对应的密码$dsn="$dbms:host=$host;port=$dbport;dbname=$dbName";try { $dbh = new PDO($dsn, $user, $pass); //初始化一个PDO对象 echo "successful<br/>"; //你还可以进行一次搜索操作 // foreach ($dbh->query("SELECT * from user") as $row) { // print_r($row); //你可以用 echo($GLOBAL); 来看到这些值 // } $dbh = null;} catch (PDOException $e) { die ("Error!: " . $e->getMessage() . "<br/>");}访问ip , 到正确的输出,就证明我们的配置成功了。最后注意:很多人在学Java高级过程中难免会遇到各种问题解决不了。为此我建了个裙 783802103,里面很多架构师一起交流解答,没基础勿进哦!本文的文字及图片来源于网络加上自己的想法,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理docker下如何搭建MySQL+php-fpm+nginx容器环境,本文详解标签:名称-name测试数据csharpcatch题解fastcgidata-目的

php不支持多线程怎么办

PHP 默认并不支持多线程,要使用多线程需要安装 pthread 扩展,而要安装 pthread 扩展,必须使用 --enable-maintainer-zts 参数重新编译 PHP,这个参数是指定编译 PHP 时使用线程安全方式。推荐:php服务器线程安全多线程是让程序变得不安分的一个因素,在使用多线程之前,首先要考虑线程安全问题:线程安全:线程安全是编程中的术语,指某个函数、函数库在多线程环境中被调用时,能够正确地处理多个线程之间的共享变量,使程序功能正确完成。在传统多线程中,由于多个线程共享变量,所以可能会导致出现如下问题:存在一个全局数组$arr = array("a");;A线程获取数组长度为1;B 线程获取数组长度为1;A 线程 pop 出数组元素 $a = array_pop($arr); $a = "a";;B 线程也 pop 数组元素 $b = array_pop($arr); $a = null;;此时 B 线程内就出现了灵异事件,明明数组长度大于0,或没有 pop 出东西;PHP 实现PHP 实现的线程安全主要是使用 TSRM 机制对 全局变量和静态变量进行了隔离,将全局变量和静态变量 给每个线程都复制了一份,各线程使用的都是主线程的一个备份,从而避免了变量冲突,也就不会出现线程安全问题。PHP 对多线程的封装保证了线程安全,程序员不用考虑对全局变量加各种锁来避免读写冲突了,同时也减少了出错的机会,写出的代码更加安全。但由此导致的是,子线程一旦开始运行,主线程便无法再对子线程运行细节进行调整了,线程一定程度上失去了线程之间通过全局变量进行消息传递的能力。同时 PHP 开启线程安全选项后,使用 TSRM 机制分配和使用变量时也会有额外的损耗,所以在不需要多线程的 PHP 环境中,使用 PHP 的 ZTS (非线程安全) 版本就好。类和方法PHP 将线程 封装成了 Thread 类,线程的创建通过实例化一个线程对象来实现,由于类的封装性,变量的使用只能通过构造函数传入,而线程运算结果也需要通过类变量传出。下面介绍几个常用的 Thread 类方法:run():此方法是一个抽象方法,每个线程都要实现此方法,线程开始运行后,此方法中的代码会自动执行;start():在主线程内调用此方法以开始运行一个线程;join():各个线程相对于主线程都是异步执行,调用此方法会等待线程执行结束;kill():强制线程结束;isRunning():返回线程的运行状态,线程正在执行run()方法的代码时会返回 true;因为线程安全的实现,PHP 的多线程开始运行后,无法再通过共享内存空间通信,线程也无法通过线程间通信复用,所以我认为 PHP 的“线程池”并没有什么意义。扩展内自带的Pool 类是一个对多线程分配管理的类,这里也不再多介绍了。

php多线程怎么实现

PHP默认并不支持多线程,要使用多线程需要安装pthread扩展,而要安装pthread扩展,必须使用--enable-maintainer-zts参数重新编译PHP,这个参数是指定编译PHP时使用线程安全方式。PHP 实现PHP 实现的线程安全主要是使用 TSRM 机制对 全局变量和静态变量进行了隔离,将全局变量和静态变量 给每个线程都复制了一份,各线程使用的都是主线程的一个备份,从而避免了变量冲突,也就不会出现线程安全问题。(推荐学习:PHP视频教程)PHP 对多线程的封装保证了线程安全,程序员不用考虑对全局变量加各种锁来避免读写冲突了,同时也减少了出错的机会,写出的代码更加安全。但由此导致的是,子线程一旦开始运行,主线程便无法再对子线程运行细节进行调整了,线程一定程度上失去了线程之间通过全局变量进行消息传递的能力。同时 PHP 开启线程安全选项后,使用 TSRM 机制分配和使用变量时也会有额外的损耗,所以在不需要多线程的 PHP 环境中,使用 PHP 的 ZTS (非线程安全) 版本就好。实例代码下面是一个线程类,用来请求某一接口。接下来根据它写两个多线程的应用实例:class Request extends Thread { public $url; public $response; public function __construct($url) { $this->url = $url; } public function run() { $this->response = file_get_contents($this->url); }}异步请求将同步的请求拆分为多个线程异步调用,以提升程序的运行效率。$chG = new Request("www.google.com");$chB = new Request("www.baidu.com");$chG ->start();$chB ->start();$chG->join();$chB->join();$gl = $chG->response;$bd = $chB->response;

php怎么多线程

PHP默认并不支持多线程,要使用多线程需要安装pthread扩展,而要安装pthread扩展,必须使用--enable-maintainer-zts参数重新编译PHP,这个参数是指定编译PHP时使用线程安全方式。多线程是让程序变得不安分的一个因素,在使用多线程之前,首先要考虑线程安全问题:线程安全:线程安全是编程中的术语,指某个函数、函数库在多线程环境中被调用时,能够正确地处理多个线程之间的共享变量,使程序功能正确完成。(推荐学习:PHP视频教程)在传统多线程中,由于多个线程共享变量,所以可能会导致出现如下问题:存在一个全局数组$arr = array("a");;A 线程获取数组长度为1;B 线程获取数组长度为1;A 线程 pop 出数组元素 $a = array_pop($arr); $a = "a";;B 线程也 pop 数组元素 $b = array_pop($arr); $a = null;;此时 B 线程内就出现了灵异事件,明明数组长度大于0,或没有 pop 出东西;PHP 实现PHP 实现的线程安全主要是使用 TSRM 机制对 全局变量和静态变量进行了隔离,将全局变量和静态变量 给每个线程都复制了一份,各线程使用的都是主线程的一个备份,从而避免了变量冲突,也就不会出现线程安全问题。PHP 对多线程的封装保证了线程安全,程序员不用考虑对全局变量加各种锁来避免读写冲突了,同时也减少了出错的机会,写出的代码更加安全。但由此导致的是,子线程一旦开始运行,主线程便无法再对子线程运行细节进行调整了,线程一定程度上失去了线程之间通过全局变量进行消息传递的能力。同时 PHP 开启线程安全选项后,使用 TSRM 机制分配和使用变量时也会有额外的损耗,所以在不需要多线程的 PHP 环境中,使用 PHP 的 ZTS (非线程安全) 版本就好。

touchpad已被禁用是什么意思

一般笔记本电脑中有touchpad或者指点杆控制鼠标,厂家一般有软件可以设定关闭touchpad或者指点杆,看以看看这个设置是不是生效了/////就是触控板被禁用,笔记本大多用快捷键开启或关闭.你检查键盘上哪个按键有触控板的标识,用FN加那个键开启或关闭(前提是触控板驱动和快捷键驱动正确安装)

笔记本电脑的触摸板(touchpad)的工作原理

触摸板的英文名称叫Touchpad,此装置是一种在平滑的触控板上,利用手指的滑动操作可以移动游标的一种输入装置。能够让初学者简易使用。因为触摸板的厚度非常薄。所以能够设计于超薄的笔记型计算机,或键盘之中。而且不是机械式的设计。  在维护上非常简便。它的工作原理就是,当使用者的手指接近触摸板时会使电容量改变,触摸板自己的控制IC将会检测出电容改变量,转换成坐标。触摸板是借由电容感应来获知手指移动情况,对手指热量并不敏感。当手指接触到板面时,板面上的静电场会发生改变。触摸板传感器只是一个印在板表面上的手指轨迹传导线路。充分接触的导体是可以改变电容量的,当然理论是这样,不要轻易尝试,触摸板是一种对压力敏感的装置,如果不善加保护,触摸板很容易损坏!

thinkpad e420 已经开了touchpad怎么还是无法使用触摸板?驱动也应经重装了,系统也重装了,还是不行

尊敬的用户您好!  如果驱动 和系统 都重新安装过,不排除是本身系统有问题,复位试一下,如果还是不行,建议最好是送去当地的think服务站,详细的检测下  复位:关机之后卸下电池,之后把外接设备拔掉,断开拔掉电源适配器,按开机键三十秒,之后您再开机试一下   可通过如下链接获取更多Think资料http://support1.lenovo.com.cn/lenovo/wsi/Modules/doclist.aspx期待您满意的评价,感谢您对联想的支持,祝您生活愉快!

笔记本电脑的触摸板(touchpad)的工作原理

  触摸板的英文名称叫Touchpad,此装置是一种在平滑的触控板上,利用手指的滑动操作可以移动游标的一种输入装置。能够让初学者简易使用。因为触摸板的厚度非常薄。所以能够设计于超薄的笔记型计算机,或键盘之中。而且不是机械式的设计。  在维护上非常简便。它的工作原理就是,当使用者的手指接近触摸板时会使电容量改变,触摸板自己的控制IC将会检测出电容改变量,转换成坐标。触摸板是借由电容感应来获知手指移动情况,对手指热量并不敏感。当手指接触到板面时,板面上的静电场会发生改变。触摸板传感器只是一个印在板表面上的手指轨迹传导线路。充分接触的导体是可以改变电容量的, 当然理论是这样,不要轻易尝试,触摸板是一种对压力敏感的装置,如果不善加保护,触摸板很容易损坏!

怎样开启touchpad是什么意思

touchpad是汉王科技开发的一款全触控平板电脑。与苹果ipad的“单任务运行”、“无摄像头”、“不支持flash”不同,汉王touchpad全触控平板电脑是一款真正意义上的电脑。touchpad的超薄、便携使其作为商务人士、数码爱好者的第二台个人电脑而深受广大消费者喜爱。TOUCHPAD配有汉王科技领先的手写识别技术,即使不用虚拟键盘,也可自由完成文字输入。支持全屏手写,识别率高,就像在纸上写字一样,中文、英文、数字都能识别成标准印刷体,更可保留亲笔字迹,实现亲笔书信、亲笔聊天等多种功能。

HP 笔记本Touchpad怎么打开

其实惠普笔记本还是不错的 比其他品牌还是有一定优势

touchpad是什么?

是汉王科技开发的一款全触控平板电脑。与苹果ipad的单任务运行、无摄像头、不支持flash不同,汉王touchpad全触控平板电脑是一款真正意义上的电脑。touchpad的超薄、便携使其作为商务人士、数码爱好者的第二台个人电脑而深受广大消费者喜爱。 功能特性  touchpad具有以下功能特性: 1、多指触控,完成复杂人机交互   TOUCHPAD采用多指触控技术,突破性实现了多个手指触摸行为的组合行为识别。通过不同自定义手势,可以轻松完成开启、翻页、伸缩等多种强大功能,实现了用简单的手指触摸行为完成复杂的人机交互。 2、10寸纯平,彻底摆脱键盘鼠标   TOUCHPAD彻底摆脱键盘、鼠标的束缚,打破固有观念,将电脑外观推向极致,10寸电容显示屏精致干练,外壳采用铝镁合金材料,抗摔抗震能力强,方便随身携带。 3、全屏手写,原创内容写字录入   TOUCHPAD配有汉王科技领先的手写识别技术,即使不用虚拟键盘,也可自由完成文字输入。支持全屏手写,识别率高,就像在纸上写字一样,中文、英文、数字都能识别成标准印刷体,更可保留亲笔字迹,实现亲笔书信、亲笔聊天等多种功能。 4、智能识别,图片文字轻松编辑   TOUCHPAD内置汉王荣获国家科技进步奖的OCR识别核心,识别率高,可轻松将PDF、网页、图片等多种载体上的文字转换成可编辑的文档格式,随意编辑引用,更智能更快捷。 5、超级便携,工作娱乐随时随地   TOUCHPAD采用Win7操作系统 ,英特尔低功耗处理器,200万像素双面摄像头,满足工作学习多种需要。谈判场合轻松展示方案,彰显商务魅力;出差旅游随时分享心得,体味快意人生;茶余饭后棋牌双人游戏,玩转休闲时光。 6、人脸识别,安全性好私密性高   TOUCHPAD采用汉王人脸识别技术,智能开机,私密性高,专享属于你的TOUCHPAD。   汉王TOUCHPAD显然是更专业的平板触控电脑。它集合了汉王科技多项核心技术,可谓是独一无二的智能人机交互集大成者,为您带来前所未有的智能体验。 主要型号汉王touchpad全触控平板电脑目前有两个型号:TouchPad BC10C 和 (1)汉王全触控平板电脑独特设计、时尚娱乐,无键盘窄边框的时尚外形设计,精巧细致的造型,10.1寸超薄宽视角背光LED,支持1080P高清播放、HDMI输出,实现超强的影音享受,预装多款touch软件,轻轻松松实现办公、娱乐。预装Windows7操作系统,支持全触控操作方式,颠覆了传统电脑操作方式,使电脑操作轻松掌控指间。无线通信设备采用WiFi、Bluetooth,轻松实现网络互动。不同的机身设计(铝合金、塑胶),实现了完美的手感,独特设计解决了散热、磕碰等问题。重量介于在960g-999g,机身厚度仅18mm,超薄超轻,携带方便,轻松收入囊中。 (2)独特设计、时尚娱乐,无键盘的时尚外形设计,精巧细致的造型,10.1寸超薄宽视角背光LED,预装多款touch软件 ,轻轻松松实现办公、娱乐。无线通信设备采用WiFi、Bluetooth,轻松实现网络互动。不同的机身设计(铝合金、碳纤、塑胶),实现了完美的手感,独特设计解决了散热、磕碰等问题。重量介于在600g-800g,机身厚度仅14mm,超薄超轻,携带方便,轻松收入囊中 。

dell touchpad是什么东西

dell 触摸板驱动

联想有类似touchpad的东西吗

有。TouchPad是一种在平滑的触控板上,利用手指的滑动操作来移动游标的输入装置。联想笔记本的触摸板驱动的名字是Synaptics笔记本触控板驱动,可以在联想官网下载来安装使用。
 首页 上一页  1 2 3 4 5 6 7 8 9 10  下一页  尾页