日历
| |||||||||
| 日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
| 1 | 2 | 3 | 4 | ||||||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 | |||
| 12 | 13 | 14 | 15 | 16 | 17 | 18 | |||
| 19 | 20 | 21 | 22 | 23 | 24 | 25 | |||
| 26 | 27 | 28 | 29 | 30 | 31 | ||||
搜索标题
我的收藏
统计信息
- 访问量: 661
- 日志数: 5
- flash数: 1
- 图片数: 2
- 建立时间: 2007-10-05
- 更新时间: 2008-04-29
我的最新日志
-
PHP生成静态文件
2008-4-29
[code]
<?php
class CreateFile{
public $dir,$page;
function __construct($dir=""){
$this->dir = $dir ? $dir : date("Ymd");
if(file_exists($this->dir) && is_dir($this->dir)){
}else{
mkdir ($this->dir,0777);
}
}
function createStaticPage($sourcePage,$objectPage){
ob_start();
include $sourcePage;
$cons=ob_get_contents();
ob_end_clean();
$page_dir=$this->dir."/".$objectPage;
$fp=fopen($page_dir,"wb") or die($objectPage."error");
fwrite($fp,$cons);
fclose($fp);
return true;
}
}
?>
<?php
$new_page = new CreateFile();
$file_name=date("His").".html";
$new_page->createStaticPage("mysql_test.php",$file_name);
?>
[/code]
-
PHP文件上传类
2008-1-29
[code]
<?php
class upload{
const FILE_PATH='../../upload/';
public $file_type,$file_type_array,$file_type_real_array,$file_type_string,$file_name,$file_size,$file_tmp_name,$file_error,$handledate,$file_new_name;
static $totalsize=0;
function __construct($file_name,$file_error,$file_size,$file_tmp_name,$file_type,$file_new_name){
$this->handledate=date('m-d-Y');
if (!empty($file_name)){
$this->file_name = $file_name;
$this->file_error = $file_error;
$this->file_size = $file_size;
$this->file_tmp_name = $file_tmp_name;
$this->file_type = $file_type;
$this->file_new_name = $file_new_name;
$this->file_type_array = array('/', 'image/gif', 'image/jpg', 'image/jpeg', 'image/pjpeg', 'image/png');
$this->file_type_real_array = array(0.1, 'jpg'=>74707370, 'gif'=>7173, 'bmp'=>6677, 'png'=>807871);
$this->show_execute_message($this->file_error,$this->file_name,$this->file_type,$this->file_size,$this->file_new_name);
}
}
function __destruct(){
$this->file_name = NULL;
$this->file_error = NULL;
$this->file_size = NULL;
$this->file_tmp_name = NULL;
$this->file_type = NULL;
self::$totalsize = 0;
}
function show_execute_message($smfileerror,$smfilename,$smfiletype,$smfilesize,$smfilenewname){
if($smfileerror>0){
switch ($smfileerror){
case 1: $smfilemessage='<strong>文件超过服务器的约定大小!</strong>';break;
case 2: $smfilemessage='<strong>文件超过指定的文件大小!</strong>';break;
case 3: $smfilemessage='<strong>文件只上传了部分!</strong>';break;
case 4: echo "$this->file_name ".'文件上传失败!<br/>';break;
}
self::__destruct();
}else{
$smfiletypeflag = array_search($smfiletype,$this->file_type_array);
if($smfiletypeflag != false){//进行真实格式验证
$file = fopen($this->file_tmp_name, "rb");
$bin = fread($file, 10);
fclose($file);
$strInfo = @unpack("c10chars", $bin);
$typeCode = intval($strInfo['chars1'].$strInfo['chars2']);
$smfiletypeflag = array_search($typeCode, $this->file_type_real_array);
if($smfiletypeflag == false){ //判断是否是png图片
$typeCode = intval($strInfo['chars2'].$strInfo['chars3'].$strInfo['chars4']);
$smfiletypeflag = array_search($typeCode, $this->file_type_real_array);
if($smfiletypeflag == false){ //判断是否是jpg图片
$typeCode = intval($strInfo['chars7'].$strInfo['chars8'].$strInfo['chars9'].$strInfo['chars10']);
$smfiletypeflag = array_search($typeCode, $this->file_type_real_array);
}
}
}
if($smfiletypeflag == false){
$smfilemessage='<strong>文件类型不对,请核实!</strong>';
self::__destruct();
}else{
$resflag = $this->move_file($this->file_tmp_name,$this->file_name,$this->file_new_name);
if ($resflag == 1){
$smfilemessage = '文件上传成功!';
self::$totalsize += intval($smfilesize);
self::__destruct();
}else{
$smfilemessage = '<strong>文件上传失败!</strong>';
self::__destruct();
}
}
}
$smfilesizeformat = $this->size_BKM($smfilesize);
echo '<tr>
<td align="left" >'.$smfilename.'</td>
<td align="center" >'.$smfiletype.'</td>
<td align="center" >'.$smfilesizeformat.'</td>
<td align="center" >'.$smfilemessage.'</td>
</tr>';
}
function move_file($mvfiletmp,$mvfilename,$mvfilenewname){ //移动文件
$mvfilenamearr = explode('.',basename($mvfilename));
$mvfilenamearr[0] = $mvfilenewname;
$mvfilename = implode('.',$mvfilenamearr);
if (is_uploaded_file($mvfiletmp)){
$uploadfile = self::FILE_PATH."$mvfilename";
$result = move_uploaded_file($mvfiletmp,$uploadfile);
return $result;
}
}
function rand_string(){ //给图片起随机名,本站中使用付值名,新图片名从站里发过来使用。
$string = md5(uniqid(rand().microtime()));
return $string;
}
function size_BKM($size){
if($size < 1024){
$size_BKM = (string)$size . " B";
}elseif($size < (1024 * 1024)){
$size_BKM = number_format((double)($size / 1024), 1) . " KB";
}else{
$size_BKM = number_format((double)($size / (1024*1024)),1)." MB";
}
return $size_BKM;
}
}
?>
[/code]
使用方法
$bup=new upload($_FILES['file_b']['name'],$_FILES['file_b']['error'],$_FILES['file_b']['size'],$_FILES['file_b']['tmp_name'],$_FILES['file_b']['type'],$file_b);//文件上传
$aa = explode(".",$_FILES[file_b][name]);
if($aa[1]) $var[file_b] = $file_b.".".$aa[1];//获取文件名和后缀
-
mysql储存过程学习第一课
2007-11-27
DELIMITER $$
DROP PROCEDURE IF EXISTS sql_menu $$
create procedure sql_menu (mlevs int)/*接收的变数*/
BEGIN
SELECT mid,mname from menu where mlev=mlevs;
END$$DELIMITER;
CALL sql_menu(28)/*传递的变数*/
select @a;/*好象是储存过程自带的变数.可以看到最多数量*/
数据库表结构
CREATE TABLE `menu` (
`mid` int(5) unsigned NOT NULL auto_increment,
`mlev` int(5) unsigned NOT NULL default '0',
`mname` varchar(20) default NULL,
`dom` varchar(20) default NULL,
`mor` varchar(50) default NULL,
`stut` enum('N','Y') NOT NULL default 'Y',
`wdate` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`mid`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;本储存过程的优点在与只查询数据库一次.便可以把所需要的所有的表按需要查询并显示
-
恭喜我自己的空间开通
2007-10-05
也不知道可写点什么.
那就写这么多吧...
