




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PHP初学者常见问题集(21问答)时间:2010-03-18 20:18 来源:PHP100中文网 作者:PHP100er 点击: 2093 次 【字号:大 中 小】1,如何连接连两个字符串? 答:在php中连接两个字符串可以直接使用.操作符号,例如$newStr=Zhang.san,在java中是使用+操作符号,不要混淆。 2,如何计算一个字符串的长度? 答:$str=test;$length=strlen($str);即使用strlen(str)函数。 3,如何按照某个分 1,如何连接连两个字符串? 答:在php中连接两个字符串可以直接使用“.”操作符号,例如$newStr=Zhang.san,在java中是使用“+”操作符号,不要混淆。2,如何计算一个字符串的长度? 答:$str=test;$length=strlen($str);即使用strlen(str)函数。3,如何按照某个分割符拆分一个字符串? 答:使用explode(delim,str)函数,例如$arr=explode(:,a:bdf:dfsdf);该函数返回一个数组。在java中可以使用String对象的split函数。4,如何获取http请求中的参数值? 答:如果为GET请求,使用$_GETparamName,如果为POST请求,使用$_POSTparamName,例如:$email=$_POSTusermail。5,php中是否可以像Java一样使用类? 答:可以,但是机制和具体使用方式可能不太一样。6,是否可以举一个使用for循环的例子? 答:for($i=0;$i100;$i+) echo $i; 7,如何在javascript中取得php中的变量? 答:例子如下: var username=; 8,如何删除一个文件? 答:使用unlink(filename)函数,当然程序必须有权限删除该文件才可以,我们所使用的php虚拟空间可能对一 些文件是有限制的,所以可能会出现权限错误。9,我定义了一个类User,声明了该类的一个方法getName(),为什么我使用$user=new User;$name=$user.getName()会报错? 答:注意php中对类成员的引用方式,上面的引用应该为$name=$user-getName(),即使用-符号,而不是 Java中使用的“.”号。10,我申请了一个不带mysql支持的php虚拟空间,请问我该怎么存取应用数据啊? 答:存取数据不一定要使用数据库,使用文件系统也是不错的,另外即使使用数据库,也不一定非要使用像mysql 、oracle等的这样的数据库,也可以使用一些文本数据库,例如txtsql,这样的话就不必去租用费用比较高的mysql 数据库空间了。11,我申请了一个不带数据库的php空间,我现在的应用数据是存在文件中的,但是这会有一个安全问题,就是 访问者可以通过url查看到这些文件的内容,我怎么保护这些文件内容呢? 答:建议的方式有三种: 1)如果你租用的php空间允许设置目录的http访问权限,那么设置一下即可。 2)可以对文件内容进行加密,那么即使被下载,也没有多大的价值。 3)可以将这些文件的后缀改为.php,即使用php文件存储应用信息,这样的话,访问者就无法通过http访问到 这些文件的真实内容了,当然这些文件中的内容必须是正确的php语法,而且内容要使用php语法中的隐藏语法 将信息隐藏起来,例如一个存放帐号信息的文件如下: users.php 12, 如何对一个字符串进行转码? 使用php的iconv函数,签名为: $str=iconv(fromEncode,toEncode,str); 例如: $str=php字符串转码; $str=iconv(utf-8,gbk,$str);/将字符串从utf-8格式转换为gbk格式 转码是很重要的一个问题,例如目前许多博客提供的rss都是utf-8返回的,因此需要通过转化才能正确显示。13,如何读取一个网页的HTML内容? PHP中文件的概念和Java中文件流的概念是类似的,许多文件读取的函数,其接受的输入流不仅仅是本地文件系统,也可以是网络文件,下面介绍其中的一种方式: function getRssContent($url) $handle = fopen ($url, rb); $contents = ; $count=0; do $data = fread($handle, 1000000); $count+; if (strlen($data) = 0) break; $contents .= $data; while(true); fclose ($handle); return $contents; 14,PHP中如何操作mysql数据库? 为了方便初学者能够上手mysql的操作,我介绍一些常用的操作: 1)数据库连接与关闭 $dbhost = ; $dbuser = ; $dbpw = ; $dbname = ; $link = mysql_connect($dbhost, $dbuser, $dbpw) or die(Could not connect: .mysql_error(); mysql_select_db($dbname); ./此处是对数据库具体的操作,后面的例子不再写数据库的连接和关闭操作 mysql_close($link); 2)向表中插入新数据 mysql_query(insert into mytable(id,name) values(.$id.,.$name.); 上面是向mytable表的id和name字段插入一条数据。 3)从表中查询数据 $rs=mysql_query(select * from mytable mt where mt.id=001); 4)从表中删除数据 $rs=mysql_query(delete from mytable mt where mt.id=001); 5)对于复杂查询,例如select子句,mysql3.22以下版本不支持,因此许多时候php编写复杂sql时会得不到结果,这其实不是php的错,而是mysql的版本较低的缘故。 6)对于select返回的结果集,可以如下操作: 对于返回一条结果,可以如下: $row=mysql_fetch_object($rs); $id=$row-id;/id是字段名称,或者字段的别名,以下同 $title=$row-title; $asker=$row-asker; 对于返回多条结果,可以如下: while($row=mysql_fetch_object($rs) $id=$row-id; $title=$row-title; $asker=$row-asker; 当然还有方法可以使得返回的结果为数组,访问也可以根据字段的位置index值访问,这个可以查询相关手册,就不介绍了。15,如果你的工程中使用HTML在线编辑器,那么FCKEditor可能是比较不错的一个选择,FCKEditor可以自己去网上下载,下载的地方很多,我介绍一下调用方式: 首先将FCKEditor的目录放到网站根目录下,假设你在网站根目录的/modules/cms/目录下的edit.php中要引用FCKEditor,具体代码如下: BasePath= $sBasePath ; $oFCKeditor-Value= ; $oFCKeditor-Width=666px; $oFCKeditor-Height=300px ? Create();? 显示如下:16,如何在session中存储数据? 首先要启动session机制,除了apache本身做一定的设置之外,在使用session的php页面中,要先调用session_start()方法,表示在本页面使用session。在session中存储数据的具体方式如下: 那么在其它的页面,想取得session中的用户名,如下: 同理,要判断当前访问的用户是否已经登录也可以通过上面的方式进行:当用户登录之后,在session之中注册用户名,在需要session控制的php页面中加入判断,例如: if(!session_is_registered(username) header(Location:login.php); 上面是通过判断session中是否注册了username变量来实现的。17,PHP中如何定义类及其成员属性与操作,又如何调用? 直接举一个例子,应该可以说明上面的问题: 定义一个字符串处理工具类:StringUtils 在php页面中调用方式为: getLength(abcde); ? 对于一个类的方法,一般有两种调用方式,一种是当作静态方法进行调用,通过:连接符,一种是当作实例方法进行调用,通过-连接符。虽然调用可以使用两种方式调用,但是实际中一个类的方法是否为静态方法,往往是已经逻辑上定义好的,因此每一个方法,往往只使用某种方式调用,例如一个服务类中的方法,基本上应该都是实例方法,而一个工具类中的方法,基本上都是类方法或者说静态方法,例如: dbhost, $this-dbuser, $this-dbpw) or die(Could not connect: .mysql_error(); mysql_select_db($this-dbname); $rs=mysql_query(select count(*) as value from cieqas_users where userid=.$username. and password=.$password.); $row=mysql_fetch_object($rs); $value=$row-value; mysql_close($link); settype($value,integer); if($value 另外,在实例方法中调用$this,才有实际的意义。18,如何设置一个变量的类型? PHP可以算作是弱类型语言的一种,不需要对变量进行强制类型定义,例如: $usernameadmin; $length=0; $obj=new MyClass; 许多时候,需要将一个字符串变量转换为int变量,或者反过来等等,该如何操作呢?其实可以使用settype方法,该方法可以指定变量的类型,签名如下: settype(var,type) 其中类型的值有boolean(bool)、integer(int)、float、string、array、object、null 例如: $state=0; settype($state,int); if($state=0) . 19,如何将一个数组进行反向排列? 通过array_reverse方法实现,例如: $arr=array(); $arr0=1; $arr1=2; $arr2=array_reverse($arr);20,在PHP中如何将一个时间正确的进行显示? 在php中通过time()方法返回自从 Unix 新纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数,那么如何将该时间正确的显示为本地正确时间,许多时候我们都使用php中的setLocale方法,指定当前的地域,但是我们往往得不到正确的时间,给大家介绍一个其它的解决方式,就是通过Javascript与php结合去解决,例如: var time=; var time=parseInt(time); var date=new Date(time*1000); var pattern=yyyy-MM-dd hh:mm:ss; var df=new SimpleDateFormat(); var str=df.format(date); document.write(str); 因此,可以将php中time()的值传递给Javascript,并做为Date对象的参数,然后通过Javascript开源类库JsJava的处理,即可。21,PHP在当今是非常流行的一门语言,到目前为止已经形成了大量的函数库,例如处理字符串的、数学的、XML的、文件的、SOAP的、网络的等等,不过其在面向对象方面,还有一定程度的欠缺,然而也并不是说非要面向对象才
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 仓库团队拜年活动方案
- 仓鼠室内游戏活动方案
- 代写综合实践活动方案
- 代理客户感恩节活动方案
- 代言人合影活动策划方案
- 以物换物活动方案
- 仪征促销活动策划方案
- 任丘喷雾推销活动方案
- 2024年贵州省高考地理真题试卷(含答案)
- 庆阳市第一中学2025届高三三模数学(解析)
- 2025年豆芽项目可行性研究报告
- 电动车采购合同
- 《血管活性药物静脉输注护理》团体标准解读
- 《数字通信原理》课件 项目一-认识通信系统
- 第四单元《学会学习终身受益》测试卷-高一思想政治课《心理健康与职业生涯》附答案
- 五年(2020-2024)高考物理真题分类汇编 专题01 力与物体的平衡(解析版)
- 校园超市投标书
- 生成式人工智能增强学科教学适应性的逻辑理路与实践路径
- DB11∕T 1071-2014 排水管(渠)工程施工质量检验标准
- 欧洲文明的现代历程学习通超星期末考试答案章节答案2024年
- 年产60万台(套)新能源汽车充电桩项目可行性研究报告写作模板-拿地申报
评论
0/150
提交评论