php

位置:IT落伍者 >> php >> 浏览文章

Php高手带路--问题汇总解答(二)


发布日期:2018年07月22日
 
Php高手带路--问题汇总解答(二)

:为什么我升级PHP后原来的程序出现满屏的 Notice: Undefined variable:

这是警告的意思由于变量未定义引起的

打开phpini找到最下面的error_reporting修改为error_reporting = E_ALL & ~E_NOTICE

对于Parse error错误

error_reporting()无法关闭

如果你想关闭任何错误提示打开phpini找到display_errors设置为display_errors = Off以后任何错误都不会提示

那什么是error_reporting?

:我想在每个文件最前最后面都加上一文件但一个一个添加很麻烦

:打开phpini文件

设置 include_path= c:

:写两个文件

auto_prepend_filephp 和 auto_append_filephp 保存在c盘他们将自动依附在每个php文件的头部和尾部

:在phpini中找到:

Automatically add files before or after any PHP document

auto_prepend_file = auto_prepend_filephp;依附在头部

auto_append_file = auto_append_filephp;依附在尾部

以后你每个php文件就相当于

PHP代码:

<?php

Include auto_prepend_filephp ;

//这里是你的程序

Include auto_append_filephp;

?>

:如何利用PHP上传文件

PHP代码:

<html><head>

<title>上载文件表单</title></head>

<body>

<form enctype=multipart/formdata action= method=post>

请选择文件 <br>

<input name=upload_file type=file><br>

<input type=submit value=上传文件>

</form>

</body>

</html>

<?

$upload_file=$_FILES[upload_file][tmp_name];

$upload_file_name=$_FILES[upload_file][name];

if($upload_file){

$file_size_max = *;// M限制文件上传最大容量(bytes)

$store_dir = d:/;// 上传文件的储存位置

$accept_overwrite = ;//是否允许覆盖相同文件

// 检查文件大小

if ($upload_file_size > $file_size_max) {

echo 对不起你的文件容量大于规定;

exit;

}

// 检查读写文件

if (file_exists($store_dir $upload_file_name) && !$accept_overwrite) {

Echo 存在相同文件名的文件;

exit;

}

//复制文件到指定目录

if (!move_uploaded_file($upload_file$store_dir$upload_file_name)) {

echo 复制文件失败;

exit;

}

}

Echo <p>你上传了文件:;

echo $_FILES[upload_file][name];

echo <br>;

//客户端机器文件的原名称

Echo 文件的 MIME 类型为:;

echo $_FILES[upload_file][type];

//文件的 MIME 类型需要浏览器提供该信息的支持例如image/gif

echo <br>;

Echo 上传文件大小:;

echo $_FILES[upload_file][size];

//已上传文件的大小单位为字节

echo <br>;

Echo 文件上传后被临时储存为:;

echo $_FILES[upload_file][tmp_name];

//文件被上传后在服务端储存的临时文件名

echo <br>;

$Erroe=$_FILES[upload_file][error];

switch($Erroe){

case :

Echo 上传成功; break;

case :

Echo 上传的文件超过了 PHPini 中 upload_max_filesize 选项限制的值; break;

case :

Echo 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值; break;

case :

Echo 文件只有部分被上传;break;

case :

Echo 没有文件被上传;break;

}

?>

:如何配置GD库

下面是我的配置过程

:用dos命令(也可以手动操作拷贝dlls文件夹里所有dll文件到system目录下) copy c:\php\dlls\*dll c:\Windows\system\

:打开phpini

设置extension_dir = c:/php/extensions/;

:

extension=php_gddll;把extension前面的逗号去掉如果没有php_gddllphp_gddll也一样保证确实存在这一文件c:/php/extensions/php_gddll

:运行下面程序进行测试

PHP代码:

<?php

Ob_end_flush();

//注意在此之前不能向浏览器输出任何信息要注意是否设置了 auto_prepend_file

header (Contenttype: image/png);

$im = @imagecreate ( )

or die (无法创建图像);

$background_color = imagecolorallocate ($im );

$text_color = imagecolorallocate ($im );

imagestring ($im A Simple Text String $text_color);

imagepng ($im);

?>

:什么是UBB代码

UBB代码是HTML的一个变种是Ultimate Bulletin Board (国外一个BBS程序国内也有不少地方使用这个程序)采用的一种特殊的TAG

即使禁止使用 HTML你也可以用 UBBCode? 来实现也许你更希望使用 UBBCode? 而不是 HTML 即使论坛允许使用 HTML 因为使用起来代码较少也更安全

:如何截取指定长度汉字而不会出现以?>结尾超出部分以代替

一般来说要截取的变量来自MySQL首先要保证那个字段长度要足够长一般为char()可以保持个汉字包括标点

PHP代码:

<?PHP

$str=这个字符好长呀^_^;

$Short_Str=showShort($str);//截取前面个汉字结果为:这个字符

Echo $Short_Str;

Function csubstr($str$start$len)

{

$strlen=strlen($str);

$clen=;

for($i=;$i<$strlen;$i++$clen++)

{

if ($clen>=$start+$len)

break;

if(ord(substr($str$i))>xa)

{

if ($clen>=$start)

$tmpstr=substr($str$i);

$i++;

}

else

{

if ($clen>=$start)

$tmpstr=substr($str$i);

}

}

return $tmpstr;

}

Function showShort($str$len)

{

$tempstr = csubstr($str$len);

if ($str<>$tempstr)

$tempstr = ; //要以什么结尾修改这里就可以

return $tempstr;

}

:规范你的SQL语句

在表格字段前面加上`这样就不会因为误用关键字而出现错误当然我并不推荐你使用关键字

例如

$Sql=INSERT INTO `xltxlm` (`author` `title` `id` `content` `date`) VALUES (xltxlm use` criterion your sql string ::)

`怎么输入? 在TAB键上面

:如何使Html/PHP格式的字符串不被解释而是照原样显示

PHP代码:

<?PHP

$str=<h>PHP</h>;

Echo 被解释过的: $str<br>经过处理的:;

Echo htmlentities(nlbr($str));

?>

:怎么在函数里取得函数外的变量值

PHP代码:

<?PHP

$a=PHP;

foo();

Function foo()

{

global $a;//删除这里看看是什么结果

Echo $a;

}

?>

               

上一篇:PHP网络编程:帖子列表页面设计[1]

下一篇:PHP学习的经验和技巧(一)