PHP部分常见问题总结Word格式.docx
- 文档编号:21631771
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:33
- 大小:38.44KB
PHP部分常见问题总结Word格式.docx
《PHP部分常见问题总结Word格式.docx》由会员分享,可在线阅读,更多相关《PHP部分常见问题总结Word格式.docx(33页珍藏版)》请在冰豆网上搜索。
Print_R($_COOKIE);
本页得到的_SESSION变量有:
Print_R($_SESSION);
/pre>
>
然后在php.ini中设置:
include_path
=
c:
/php"
,并将debug.php放在此文件夹,以后就可以在每个网页里包含此文件,查看得到的变量名和值.
3:
如何使用session
凡是与session有关的,之前必须调用函数session_start();
为session付值很简单,如:
php
Session_start();
$Name
这是一个Session例子"
Session_Register("
Name"
);
//注意,不要写成:
$Name"
$_SESSION["
//之后$_SESSION["
]为"
在php4.2之后,可以为session直接付值:
name"
]="
value"
取消session可以这样:
session_start();
session_unset();
session_destroy();
取消某个session变量在php4.2以上还有BUG.
注意:
1:
在调用Session_Start()之前不能有任何输出.例如下面是错误的.
==========================================
1行
2行
3行
//之前在第一行已经有输出
4行
.....
5行
提示1:
凡是出现"
........headers
already
sent.........."
就是Session_Start()之前向浏览器输出信息.
去掉输出就正常,(COOKIE也会出现这种错误,错误原因一样)
提示2:
如果你的Session_Start()放在循环语句里,并且很难确定之前哪里向浏览器输出信息,可以用下面这种方法:
1行
PHP
........这里是你的程序......
2:
这是什么错误
Warning:
session_start():
open(/tmp\sess_7d190aa36b4c5ec13a5c1649cc2da23f,
O_RDWR)
failed:
....
因为你没有指定session文件的存放路径.
解决方法:
(1)在c盘建立文件夹tmp
(2)打开php.ini,找到session.save_path,修改为session.save_path=
/tmp"
4:
为什么我向另一网页传送变量时,只得到前半部分,以空格开头的则全部丢失
$Var="
hello
php"
//修改为$Var="
试试得到什么结果
$post=
receive.php?
Name="
.$Var;
header("
location:
$post"
receive.php的内容:
Echo
$_GET["
正确的方法是:
.urlencode($Var);
在接收页面你不需要使用Urldecode(),变量会自动编码.
5:
如何截取指定长度汉字而不会出现以"
结尾,超出部分以"
..."
代替
一般来说,要截取的变量来自Mysql,首先要保证那个字段长度要足够长,一般为char(200),可以保持100个汉字,包括标点.
$str="
这个字符好长呀,^_^"
$Short_Str=showShort($str,4);
//截取前面4个汉字,结果为:
这个字符...
$Short_Str"
Function
csubstr($str,$start,$len)
{
$strlen=strlen($str);
$clen=0;
for($i=0;
$i<
$strlen;
$i++,$clen++)
if
($clen>
=$start+$len)
break;
if(ord(substr($str,$i,1))>
0xa0)
=$start)
$tmpstr.=substr($str,$i,2);
$i++;
}
else
$tmpstr.=substr($str,$i,1);
return
$tmpstr;
showShort($str,$len)
$tempstr
csubstr($str,0,$len);
($str<
$tempstr)
.=
//要以什么结尾,修改这里就可以.
$tempstr;
6:
规范你的SQL语句
在表格,字段前面加上"
`"
这样就不会因为误用关键字而出现错误,
当然我并不推荐你使用关键字.
例如
$Sql="
INSERT
INTO
`xltxlm`
(`author`,
`title`,
`id`,
`content`,
`date`)
VALUES
('
xltxlm'
'
use`'
1,
criterion
your
sql
string
2003-07-11
00:
00'
)"
怎么输入?
在TAB键上面.
7:
如何使Html/PHP格式的字符串不被解释,而是照原样显示
h1>
PHP<
/h1>
被解释过的:
.$str."
br>
经过处理的:
htmlentities(nl2br($str));
8:
怎么在函数里取得函数外的变量值
$a="
PHP"
foo();
foo()
global
$a;
//删除这里看看是什么结果
Echo
$a"
电脑知识网提供
9:
我怎么知道系统默认支持什么函数
$arr
get_defined_functions();
php()
echo
这里显示系统所支持的所有函数,和自定以函数php\n"
print_r($arr);
在提问题前请先仔细查阅PHP手册,MYSQL手册以及PHPINFO里面的设置。
另外希望你读一下PHP编程标准。
精彩30问,网罗常见PHP问题,希望大家细心查看。
我在一网页向另一网页POST数据name,为什么输出$name时却得不到任何值?
在PHP4.2以后的版本中register_global默认为off
若想取得从另一页面提交的变量:
方法一:
方法二:
方法三:
2:
在运行时必须知道某个变量为何值。
Echo"
然后在php.ini中设置:
include_path="
,并将debug.php放在此文件夹,
以后就可以在每个网页里包含此文件,查看得到的变量名和值.
3:
凡是与session有关的,之前必须调用函数session_start();
为session付值很简单,如
$Name="
Echo$_SESSION["
在php4.2之后,可以为session直接付值:
取消session可以这样:
取消某个session变量在php4.2以上还有BUG.取消某个session变量在php4.2以上还有BUG.
2行<
3行Session_Start();
4行.....
5行?
........headersalreadysent.........."
1行<
PHPOb_Start();
?
2:
session_start():
open(/tmp\sess_7d190aa36b4c5ec13a5c1649cc2da23f,O_RDWR)failed:
解决方法:
(1)在c盘建立文件夹tmp
(2)打开php.ini,找到session.save_path,修改为session.save_path="
4:
为什么我向另一网页传送变量时,只得到前半部分,以空格开头的则全部丢失
hellophp"
$post="
receive.php的内容:
正确的方法是
在接收页面你不需要使用Urldecode(),变量会自动编码.
5:
一般来说,要截取的变量来自Mysql,首先要保证那个字段长度要足够长,一般为char(200),可以保持100个汉字,包括标点.
Functioncsubstr($str,$start,$len)
{
$i++,$clen++)
if($clen>
=$start+$len)
0xa0)
=$start)
}
else
return$tmpstr;
FunctionshowShort($str,$len)
$tempstr=csubstr($str,0,$len);
if($str<
$tempstr)
$tempstr.="
//要以什么结尾,修改这里就可以.
return$tempstr;
6:
INSERTINTO`xltxlm`(`author`,`title`,`id`,`content`,`date`)VALUES('
'
1,'
criterionyoursqlstring'
2003-07-1100:
在TAB键上面
7:
"
8:
Functionfoo()
global$a;
9:
php
$arr=get_defined_functions();
Functionphp(){
echo
10:
如何比较两个日期相差几天
$Date_1="
2003-7-15"
//也可以是:
2003-6-2523:
29:
14"
$Date_2="
1982-10-1"
$Date_List_1=explode("
-"
$Date_1);
$Date_List_2=explode("
$Date_2);
$d1=mktime(0,0,0,$Date_List_1[1],$Date_List_1[2],$Date_List_1[0]);
$d2=mktime(0,0,0,$Date_List_2[1],$Date_List_2[2],$Date_List_2[0]);
$Days=round(($d1-$d2)/3600/24);
偶已经奋斗了$Days天^_^"
11:
为什么我升级PHP后,原来的程序出现满屏的Notice:
Undefinedvariable:
这是警告的意思,由于变量未定义引起的.
打开php.ini,找到最下面的error_reporting,修改为error_reporting=E_ALL&
~E_NOTICE
对于Parseerror错误
error_reporting(0)无法关闭.
如果你想关闭任何错误提示,打开php.ini,找到display_errors,设置为display_errors=Off.以后任何错误都不会提示.
那什么是error_reporting?
12:
我想在每个文件最前,最后面都加上一文件.但一个一个添加很麻烦
打开php.ini文件
设置include_path="
写两个文件
auto_prepend_file.php和auto_append_file.php保存在c盘,他们将自动依附在每个php文件的头部和尾部.
3:
在php.ini中找到:
AutomaticallyaddfilesbeforeorafteranyPHPdocument.
auto_prepend_file=auto_prepend_file.php;
依附在头部
auto_append_file=auto_append_file.php;
依附在尾部
以后你每个php文件就相当于
Include"
auto_prepend_file.php"
;
.......//这里是你的程序
auto_append_file.php"
13:
如何利用PHP上传文件
html>
head>
title>
上载文件表单<
/title>
/head>
body>
formenctype="
multipart/form-data"
action="
method="
post"
请选择文件:
<
inputname="
upload_file"
type="
file"
inputtype="
submit"
value="
上传文件"
/form>
/body>
/html>
$upload_file=$_FILES['
upload_file'
]['
tmp_name'
$upload_file_name=$_FILES['
name'
if($upload_file){
$file_size_max=1000*1000;
//1M限制文件上传最大容量(bytes)
$store_dir="
d:
/"
//上传文件的储存位置
$accept_overwrite=1;
//是否允许覆盖相同文件
//检查文件大小
if($upload_file_size>
$file_size_max){
echo"
对不起,你的文件容量大于规定"
exit;
//检查读写文件
if(file_exists($store_dir.$upload_file_name)&
&
!
$accept_overwrite){
存在相同文件名的文件"
//复制文件到指定目录
if(!
move_uploaded_file($upload_file,$store_dir.$upload_file_name)){
复制文件失败"
p>
你上传了文件:
$_FILES['
//客户端机器文件的原名称。
文件的MIME类型为:
echo$_FILES['
upload_file
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PHP 部分 常见问题 总结