php

PHP获取上传文件后缀名的方法(函数)系统自带

星期二, 十二月 27th, 2011 | linux, php | 没有评论

php上传文件重命名时要获取文件的后缀名,网上PHP获取上传文件或图片后缀名的方式五花八门,很多都是把上传文件名称分解成数组再获取后缀名的,麻烦不说而且容易有漏洞。
其实PHP获取上传文件的后缀名可以用pathinfo这个函数。

比如获取上传的图片后缀名称的简单代码实例:

$imgname = $_FILES[“file”][“name”]; //获取上传的文件名称
$filetype = pathinfo($imgname, PATHINFO_EXTENSION);//获取后缀
$newname = date(“Ymdhis”).”.”.$filetype; //构建新名称
其实遇到问题多查查php手册就行了,http://www.w3school.com.cn/php/index.asp

Tags: ,

sqlite在php中使用和安全防护问题

星期四, 六月 9th, 2011 | linux, php | 没有评论

sqlite在php5.X的版本中默认得到了支持,在linux平台下,默认编译安装会被启用,在windows平台下要打开php.ini中的几项:
[sqlite]
sqlite.assoc_case = 0

extension=php_pdo.dll
extension=php_pdo_sqlite.dll
extension=php_sqlite.dll

启用sqlite;
关于安全方面这里将的不是数据接口加密的事情,是简单不让用户访问到数据文件的方法:
1.命名为#号开头,复杂不容易被用户猜到的数据文件(不是很安全)
2.放置应用不能被访问的地方(这个可以的,放在apache或者tomcat和nginx的非发布目录下)
3.针对php的建立一个#i5a6.php的库(库名随意,带.php即可)在其中建立 › Continue reading

Tags: , , ,

ubuntu10.04编译安装mysql5.5.10成功小记

星期一, 三月 28th, 2011 | JAVA-and-J2EE, linux, php | 2 Comments

在ubuntu下安装和在centos下还是有点不一样的,主要是依赖包的不同,编译安装新版本的mysql5.5.10的时候又使用来cmake,自己不熟悉,有到处学习下,找来下资料,了解下,主要操作如下,中间最郁闷的莫过于,在系统中默认给来个/etc/mysql/my.cnf这个文件一定要改个名字,或者注释掉,我就有很多莫名的问题由起引起,自己倒是看到过他,没有在于,最后还是在网上查到有人有同样问题,自己才恍然大悟,后面的就很顺利了:

系统:ubuntu10.04/ubuntu10.10这两个版本应该都行,我测试的是10.04
mysql源码文件:mysql-5.5.10.tar.gz

安装所需工具:cmake, GNU make, gcc(这个我一开始没有装,郁闷的找来好久的原因), Perl, libncurses5-dev(这个和centos不同[ncurses-devel]), bison(可选), chkconfig
安装完成mysql前,可以跳过此部分,到红的地方开始找安装部分:
补充执行语句: 下面来源于网络上的一篇算是蛮详细的,自己又整理下来,对自己出的问题,还有几个,几下命令执行如下:
1.chmod +w /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql

2.创建MySQL数据库存放目录
mkdir -p /home/mydev/lamp/mysql/data/
mkdir -p /home/mydev/lamp/mysql/binlog/
mkdir -p /home/mydev/lamp/mysql/relaylog/
chown -R mysql:mysql /home/mydev/lamp/mysql/mysql/
(记得chown赋予权限就好)
创建my.cnf配置文件:
vi /etc/my.cnf
› Continue reading

Tags: , , , ,

PHP教程之PHP服务器变量$_SERVER

星期二, 一月 4th, 2011 | php | 没有评论

服务器变量 $_SERVER 详解:

1、$_SERVER[‘PHP_SELF’] — 获取当前正在执行脚本的文件名

2、$_SERVER[‘SERVER_PROTOCOL’] — 请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。

3、$_SERVER[‘REQUEST_TIME’] — 请求开始时的时间戳。从 PHP 5.1.0 起有效。和time函数效果一样。
› Continue reading

Tags: ,

php教程之set_magic_quotes_runtime()函数的作用

星期二, 一月 4th, 2011 | disucz, pagemaker, php | 没有评论

set_magic_quotes_runtime(0);

可以修改php.ini中 magic_quotes_runtime boolean的设置

当你的数据中有一些
\


这样的字符要写入到数据库里面,又想不被过滤掉的时候,它就很有用,会在这些字符前加上\
› Continue reading

Tags: ,

[wordpress]Error establishing a database connection的解决方法

星期日, 十月 31st, 2010 | php, wordpress | 没有评论

以前自己的也发生过此情况,刷新下就好了,估计是和别人共享的时候,数据库压力过大!
可是朋友的站点出此问题倒不是刷新可以解决的了,就自己查了下,很多人的都是因为,表损坏出现的问题,
我登陆到数据库看也没有发现此问题!
怀疑是数据库的连接有问题,说下原因吧,就是数据库采用远程连接的方式,恰巧数据库和站点是在同一个机器上,
再采用远程连接,居然被服务器限制了,换成localhost即可,真是让人烦闷,空间商调整也不通知下,以前都是好好的!
还好懂点!
也记录下处理方式:
在 wp-config.php 有个 debug 的参数,打开这个参数,修改为:
define(‘WP_DEBUG’, ‘true’);
查看debug信息
连接进 mysql 使用修复的命令来修复。
mysql>repair table wp_options;

Tags: ,

linux下Apache、php、mysql默认安装路径—编译者的回看

星期一, 十月 11th, 2010 | linux, php | 9 Comments

自己一直是编译安装,安装目录分配的很清楚,今天看到一个朋友的,发现自己不认识了,看了下是默认安装的,
对默认安装的目录结构不熟悉,网上找了下,有朋友列的很清楚,自己摘录,留着自己用也方便~

apache:
如果采用RPM包安装,安装路径应在 /etc/httpd目录下
apache配置文件:/etc/httpd/conf/httpd.conf
Apache模块路径:/usr/sbin/apachectl
web目录:/var/www/html
如果采用源代码安装,一般默认安装在/usr/local/apache2目录下

php:
如果采用RPM包安装,安装路径应在 /etc/目录下
php的配置文件:/etc/php.ini
如果采用源代码安装,一般默认安装在/usr/local/lib目录下
php配置文件: /usr/local/lib/php.ini
或/usr/local/php/etc/php.ini

mysql:
如果采用RPM包安装,安装路径应在/usr/share/mysql目录下
mysqldump文件位置:/usr/bin/mysqldump
mysqli配置文件:
/etc/my.cnf或/usr/share/mysql/my.cnf
mysql数据目录在/var/lib/mysql目录下
如果采用源代码安装,一般默认安装在/usr/local/mysql目录下

Tags: , , , ,

Nginx的平滑升级小记

星期日, 七月 25th, 2010 | php | 没有评论

升级nginx的基本过程,以下是在CentOS环境下升级过程中小结得来的。
1、查看当然版本
#cd /usr/local/nginx/ #进入Nginx安装目录
# sbin/nginx -V #查看版本
nginx version: nginx/0.7.36
configure arguments: –user=www –group=www –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module #编译项
得到原来./configure 的编译项
› Continue reading

Tags: ,

php 字符串编码问题和转换字符串编码iconv与mb_convert_encoding的区别

星期二, 四月 6th, 2010 | disucz, php | 没有评论

在非纯英文的项目中,编码问题始终存在ing,来之解决之;以前只对java的比较熟悉,项目需要调试对接php接口,也要处理,处理方法大同小异;

问题1:web页面提交,字符串以什么编码处理?

当用浏览器打开某个网页时,该网页的编码一般由标签或header指定。如:

header(“Content-Type: text/html;charset=gb2312”);
则用户在该页面输入的字符将一指定的该编码表示,web提交时也将以该编码提交。

问题2:php如何检查某个字符串的编码?

用mb_detect_encoding($str);函数,使用该函数必须打开php的extension=php_mbstring.dll扩展

1
2
3
4
5
<?php
$str="测试ing";
$cha=mb_detect_encoding($str);
echo $cha;
?>

我在gb2312页面上输的,不过输出的结果是 UTF-8 很奇怪,还没有找到原因。
› Continue reading

Tags: , , ,

Discuz!论坛 URL 静态化的使用的不同主机的配置文件

星期四, 三月 11th, 2010 | disucz, php | 3 Comments

本文主要引自官方的文档,留在此地方便自己使用时进行翻阅,版权归discuz!官方所有;

Discuz! URL 静态化(以下简称 URL 静态化)功能可以将 Discuz! Archiver 及部分常用页面(如 主题列表页面 forumdisplay.php、主题内容页面 viewthread.php、个人资料页面 space.php、标签页面 tag.php 等)进行 URL 静态化转换,形成类似 //www.pomelolee.com/bbs/forum-2-1.html 形式的超级链接,从而使论坛内容更容易被搜索引擎挖掘,提高被收录的机率。
您可以通过 系统设置 => 全局 => 优化设置 => 搜索引擎优化 => URL静态化 来控制需要静态化的页面。
› Continue reading

Tags: , , , ,

Search

文章分类

Links

Meta