Archive → July, 2004
在MySQL数据库中存储图片
汗,以前一直误以为MySQL不能存储图片
在mysql中建立一个新的数据库
一个怎样储存文件的例子程序
一个怎样访问文件的例子程序
在mysql中建立一个表
CREATE TABLE binary_data ( id INT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY,description CHAR(50), bin_data LONGBLOB, filename CHAR(50), filesize CHAR(50), filetype CHAR(50));
< ?php
// getdata.php3 – by Florian Dittmer <dittmer@gmx.net> // 调用方法: getdata.php3?id=<id>
if($id) {
// 你可能需要调整主机名,用户名和密码: @MYSQL_CONNECT( "localhost", "root", "password");
@mysql_select_db( "binary_data");
$query = "select bin_data,filetype from binary_data where id=$id"; $result = @MYSQL_QUERY($query);
$data = @MYSQL_RESULT($result,0, "bin_data"); $type = @MYSQL_RESULT($result,0, "filetype");
Header( "Content-type: $type"); echo $data;
}; ?>
怎样储存大于1MB的文件:
如果你想储存大于2MB的文件,你必须对你的程序、PHP设置、SQL设置进行许多修改。
下面几条也许可以帮助你储存小于24MB的文件:
修改你的PHP设置,在一般情况下,PHP只允许小于2MB的文件,你必须将max_filesize(在php.ini中)的值改成24000000
去掉MYSQL的数据包大小限制,在一般情况下 MYSQL 小于1 MB的数据包.
你必须用以下参数重启你的MYSQL
/usr/local/bin/safe_mysqld -O key_buffer=16M -O table_cache=128 -O sort_buffer=4M -O record_buffer=1M -O max_allowed_packet=24M
如果仍然出错:
可能是超时错误,如果你通过一个很慢的连接来储存一个很大的文件,PHP缺省的时间限制为30秒。
你可以将max_execution_time(在php.ini中)的值改为-1
PHP T-shirt
呵呵,Exceed PHP推出的php T-shirt

一点半了,还在灌水
今晚突破四百贴了。
发现 郁闷时,灌水是一解闷大法……
在上面不着边际的胡扯 心情好多了!
假如对方是个BT
利用安全策略禁止本地主机连接去对方任何端口!
然后在允许别人连接自己的80端口!
把debug/ftp/tftp/its/start/net/net1/echo/edit去掉!本地只提供web服务!
关闭/过滤所有端口,现在得到这个主机一个shell,有办法上穿文件?
呵呵 改内核去掉了echo?
别怕 我们还有set 嘛
set/p tsing=del c:.>tsing.bat
如何使用PHP中的字符串函数
不知为什么,一直都搞不好这字符串,无论PHP还是其它,汗!!
PHP中的字符串操作功能是比较多的,重要的有以下这些:
(1)echo,print,printf,sprintf
前两个函数是输出字符串.字符串中如果有变量名则被替换成其值. 后两个函数类似于C的同名函数.
(2)strchr,strlen,strtok,strrchr,strrev,strstr,strtolower, strtoupper,substr,ucfirst
这些是常用的字符串操作函数,有些和C中的同名函数意义完全一致.
strrev是把一个字符串翻转.
strtolower和strtoupper的意思应该不用解释了.
ucfirst是把字符串的第一个字符变成大写.
substr是返回字符串的一个子串,用法是:substr(字符串,头,长度).
头位置是 从0算起的.如果是负数,则是从尾部向前数的意思.
(3)Chr,Ord
类似于C的同名函数.
(4)explode,implode,join
这些是和数组有关的函数.
explode(字符串,分割符)返回一个将字符串在分割符处分开所产生的数组.
implode(数组,分割符)返回一个将数组各元素之间插上分割符而成的字符串.
join与implode意义相同.
(5)Chop
去掉字符串尾部的空白.
(6)htmlspecialchars
将字符串中的HTML特殊字符换成它们的名字,例如”< “变成”<”.
(7)nl2br
在字符串中的每一个回车前面加上”<BR>”.
(8)AddSlashes,StripSlashes
分别给字符串中需要加上”"才能用于数据库查询的字符加上和去掉”".
(9)parse_str
将”name1=value1&name2=value2&…”类型的字符串分析成一些变量.
例如:
parse_str("a=1&b=2");
生成$a与$b两个变量,值分别为1,2. 如果有两对名字/值的名字部分相同,则后一个的值覆盖前一个的. 如果这两对的名字尾部都有”“,例如”a=1&a=2″,则生成数组$a,两个元素分别为1,2
mysql中的load_file()函数
看了angel的《Advanced SQL Injection with MySQL》(http://www.4ngel.net/)
里面所使用的load_file()函数确实好用
在phpmyadmin中试了一下,确实可以
不过直接查询只能显示文件头的一小段
需要导出为文件才能看到完整文件
- select load_file(“e:/Program Files/Serv-U/ServUDaemon.ini”)
- select load_file(“e:/Program Files/Serv-U/ServUDaemon.ini”) from table_name into outfile “g:/wwwroot/upload/index.php.bak3″
要导出文件,则 from table_name不可缺!
php 4 和 Php 5 共存
下载 PHP 4 for Windows Zip 二进制包,解压到任意目录(我解压到 E:php),将里面的 php.ini-dist 更名为 php.ini。将 php.ini 和 php4ts.dll 复制到 windows 安装目录中。
下载 PHP 5 for Windows Zip 二进制包,解压到任意非 PHP 4 的目录(我解压到 E:php5),将里面的 php.ini-dist 更名为 php.ini。
下面修改 Apache2 的 httpd.conf 文件。修改的关键是使用 IfDefine 指令:
找到代码:
Listen 80
这行,修改为
代码:
- <ifdefine !php=php5>
- <Listen 80>
- </ifdefine>
- <ifdefine php=php5>
- Listen 81
- </ifdefine>
在 httpd.conf 的末尾添加
代码:
- <ifdefine !php=php5>
- LoadModule php4_module “e:/php/sapi/php4apache2.dll”
- </ifdefine>
- <ifdefine php=php5>
- LoadModule php5_module “e:/php5/php5apache2.dll”
- PHPINIDir “e:/php5/php.ini”
- </ifdefine>
- AddType application/x-httpd-php .php
- AddType application/x-httpd-php .php3
- AddType application/x-httpd-php .php4
- AddType application/x-httpd-php .php5
- AddType application/x-httpd-php-source .phps
其他的指令,比如 DirectoryIndex 和 AddDefaultCharset 请自己设置。
下一步是创建两个包含不同运行参数的 Apache 服务。在命令提示符,进入 Apache2 安装目录中的 bin 目录,运行代码:
- apache -k install -D php=php5 -n Apache2PHP5
这样就创建了一个包含 php5 运行参数的新 Apache 服务,名为 Apache2PHP5。
然后启动 Apache2PHP5 服务并重启 Apache2 服务,您可以到 管理工具->服务 中启动,也可以使用 Apache 2 自带的 Monitor Apache Servers 启动。
访问 http://localhost/ 即使用 PHP 4,访问 http://localhost:81/ 即使用 PHP 5。
另外一个:
http://bbs.chinaunix.net/forum/viewtopic.php?t=336051
电脑买回来了
今天陪西西去鼎好配电脑,把自己的电脑也抬回来了。 配置:
AMD 2500+
ECS N2U400-A
HY 256M DDR400 x2
ST 80G
玉蛟龙 GeForce 2 Mx 400
PHP AnyWhere
知名的PHP网络日志,有很多不错的讨论! http://phplens.com/phpeverywhere/