一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

php相册系统源代码

时间:2010-07-28 编辑:简简单单 来源:一聚教程网

/*
这是一款简单的php相册系统,包括有如下文件
conn.php数据库教程连接文件以及文件上传功能和分页函数
vc.php 用来显示相册
files.php 照片上传文件
index.php 相册管理代码
savefile.php保存文件代码
*/
?>

index.php

 代码如下 复制代码





无标题文档
css教程.css" rel="stylesheet" type="text/css" />


像册  增加




require_once("config/conn.php");
$sql="select * from images order by imid";
$result=page($sql,16);
$i=1;
while($row=mysql教程_fetch_assoc($result[0]))
{
?>

 if($i%4==0) echo "";
 $i++;

 }
 ?>



  " target="_blank">" alt="" border="0"/>



 

 
files.php

 

 代码如下 复制代码





无标题文档



 

 


 
   
   
     
     
     
   
   
     
     
   
   
     
   
 

      像册编辑
   
标题:
照片:

 

  




 

 
vc.php

 

 代码如下 复制代码

require("config/conn.php");
$sql="select * from images order by imid desc limit 4";
$result=mysql_query($sql) or die($sql."有错误");
$siteurl="http://".$_server["http_host"]."/file/";
while($row=mysql_fetch_assoc($result)){
 $pic[]=$siteurl."s_".$row["imname"];
 $title[]=$row["imtitle"];
}
//print_r($pic);
//exit;
?>

 

 
conn.php

 

 代码如下 复制代码

//连接数据库服务器
$db=mysql_connect("localhost","root","123456") or die("连接数据库服务器有错误");
//连接数据库
mysql_select_db("info",$db) or die("连接数据库有错误");

//page 是分页函数
function page($sql,$pagesize=10,$class=""){
 
 if(!is_string($sql)){ return 0;exit;}
 $result=mysql_query($sql);
 if(!$result){return 0;exit;}
 if(!$recordnum=mysql_num_rows($result)){return 0;exit;}
 $totalpage=ceil($recordnum/$pagesize);
 $page=(int)$_get['page'];
 if($page<=1) $page=1;
 if($page>=$totalpage) $page=$totalpage;
 $recordno=($page-1)*$pagesize;
 $sql.=" limit $recordno,$pagesize";
 $result=mysql_query($sql);
 $url=$_server["php_self"];

 if($page==1)$str= "首页|上页";
 else $str.="首页上页";
 if($page==$totalpage) $str.=  "|下页|末页";
 else  $str.="|下页末页";
 $str.=" 当前第 $page 页 共 $totalpage 页";
 return array($result,$str);
}

//信息提示函数
function showmsg($text,$url=""){
 if($url){ 
 echo ""; 
 exit;
 }
 else
 {
 echo ""; 
 exit;
 }
}

//附件上传函数
function upfile($filename,$type,$path)
{

 $tempfile=$_files[$filename];//接收上传的临时文件

 //有没有上传成功
 if($error=$tempfile["error"])
 {
  switch($error){
   case 1:$errorstr="上传的文件超过了2m请返回检查。";break;
   case 2:$errorstr="上传文件的大小超过了 html 表单中限定值8m";break;
   case 3:$errorstr="文件只有部分被上传";break;
   case 4:$errorstr="没有文件被上传";break;
   case 6:$errorstr="找不到临时文件夹";break;
   case 7:$errorstr="文件写入失败";break;
  }
  showmsg($errorstr);
 }

 //文件类型是否在允许的范围内
 $filename=$tempfile["name"];//取上传原文件名
 $tmparr=explode(".",$filename);
 $extname=strtolower($tmparr[count($tmparr)-1]);//取出原扩展名并转为小写字母
 if(!in_array($extname,$type)) showmsg("上传的文件类型不允许,请返回检查.");

 //改文件名
 $newfile="zy".time().rand(100,1000).".".$extname;//构成新的文件名

 //路径
 $path.=$newfile;

 //重名判断
 if(file_exists($path)){
  $newfile="zy".time().rand(100,1000).".".$extname;//构成新的文件名
  $path.=$newfile;
 }

 if(!move_uploaded_file($tempfile['tmp_name'],$path))showmsg("文件移动失败。");

 return $newfile;
}

//缩略图函
function bigtosmallimg($file,$path,$w=120,$h=90)
{
 $img=$path.$file;
 $imgarr=getimagesize($img);
 $sw=$imgarr[0];//原图宽
 $sh=$imgarr[1];//原图高
 $stype=$imgarr[2];
 //按比例缩放
 if($sw/$sh>$w/$h){
  $mw=$w;
  $mh=(int)$sh*($w/$sw);
 }
 else{
  $mw=(int)$sw*($h/$sh);
  $mh=$h;
 }

 switch($stype){//根据上传好的图形文件类型新建一个用来生成缩略图的源文件。
   case 1:
    $srcf = imagecreatefromgif($img);
    break;
   case 2:
    $srcf = imagecreatefromjpeg($img);
    break;
   case 3:
    $srcf = imagecreatefrompng($img);
    break;
   default:
    showmsg('程序调用错误。');
    break;
 }

 $desf =imagecreatetruecolor($mw,$mh);

 imagecopyresampled($desf,$srcf,0,0,0,0,$mw,$mh,$sw,$sh);
 $sm_name=$path."s_".$file;
 switch($stype){
  case 1:
   imagegif($desf,$sm_name);
   break;
  case 2:
   imagejpeg($desf,$sm_name);
   break;
  case 3:
   imagepng($desf,$sm_name);
   break;
  default:
   showmsg('无法生成' . $stype . '的缩略图。');
   break;
 }
 imagedestroy($desf);
 imagedestroy($srcf);

}


?>

 

 
//savefile.php

 

 代码如下 复制代码

require_once("config/conn.php");
$imtitle=$_post['imtitle'];
$imtime=time();
$imip=$_server['remote_addr'];

$siteurl="http://".$_server["http_host"]."/file/";
$filename="imname";
$type=array('jpg','gif','png');//参照类型
$path=$_server['document_root']."/file/";
$w=90;//设置宽
$h=120;//设置高
$file=upfile($filename,$type,$path);
bigtosmallimg($file,$path,$w,$h);
$sql="insert into images values(null,'$file','$imtitle','$imtime','$imip')";
mysql_query($sql) or die($sql.'有错误');
showmsg("写入成功。","index.php");
?>

sql.文件
-- phpmyadmin sql dump
-- version 2.6.0-pl3
-- http://www.111com.net
--
-- 主机: localhost
-- 生成日期: 2008 年 12 月 25 日 07:03
-- 服务器版本: 5.0.22
-- php 版本: 5.2.5
--
-- 数据库: `info`
--

-- --------------------------------------------------------

--
-- 表的结构 `images`
--

create table `images` (
  `imid` int(11) not null auto_increment,
  `imname` varchar(50) collate utf8_unicode_ci default null,
  `imtitle` varchar(210) collate utf8_unicode_ci not null,
  `imtime` varchar(30) collate utf8_unicode_ci not null,
  `imip` varchar(25) collate utf8_unicode_ci not null,
  primary key  (`imid`)
) engine=myisam default charset=utf8 collate=utf8_unicode_ci auto_increment=7 ;

--
-- 导出表中的数据 `images`
--

insert into `images` values (1, 'zy1230170838957.jpg', '晚霞', '1230170838', '127.0.0.1');
insert into `images` values (2, 'zy1230171466903.jpg', '荷花', '1230171466', '127.0.0.1');
insert into `images` values (3, 'zy1230172105243.jpg', '中央电视塔', '1230172105', '127.0.0.1');
insert into `images` values (4, 'zy1230172123679.jpg', '秋天', '1230172123', '127.0.0.1');
insert into `images` values (5, 'zy1230172147908.jpg', '动画', '1230172147', '127.0.0.1');
insert into `images` values (6, 'zy1230172230267.jpg', '冰雪世界', '1230172230', '127.0.0.1');

热门栏目