分类: 系统运维
2011-11-10 10:02:16
一,建静态页面,要实现上传功能,其实模板很简单,upload.html代码如下:
二.写PHP代码
/*
* Author : 甘宇
* Email :
* action : 图片上传
* Date : 2009-12-3
*/
require_once '../xmphp/init.php'; //全站配置文件
require_once XMPHP_COMMON.'/smarty.php';//smarty功能
require_once XMPHP_COMMON.'/mysql.php'; //mysql功能
require_once XMPHP_COMMON.'/func.php';//站内函数
header('Cache-control:Private');//提交前保留所写内容
if (isset($_GET['act']) && $_GET['act'] == 'upload') {
$pic = isset($_FILES['pic']) ? $_FILES['pic'] : '';
$img_js = isset($_POST['img_js']) ? $_POST['img_js'] :'';
$upload_time = time();
//var_dump($pic);
//结果:array(5) { ["name"]=> string(7) "hot.jpg" ["type"]=>
string(11) "image/pjpeg" ["tmp_name"]=> string(26)
//"C:\WINDOWS\Temp\php145.tmp" ["error"]=> int(0) ["size"]=>
int(16405) }
if ($pic['name'] == '') {
alert ('请选择图片');
exit;
}
if ($pic['error'] != 0) {
alert ('上传错误,请返回重试');
exit;
}
if ($img_js == '') {
alert('请填写图片介绍');
exit;
}
$houzhui = pathinfo($pic['name']);
//var_dump($houzhui);
//结果:array(4) { ["dirname"]=> string(1) "." ["basename"]=>
string(7) "hot.jpg" ["extension"]=> string(3) "jpg" ["filename"]=>
//string(3) "hot" }
if ( !in_array($houzhui['extension'],array('jpg','gif','png','JPG','GIF','PNG')) ) {
alert ('上传格式不对,请返回重试');
exit;
}
// if ($pic['size'] > 2*1024*1024) {
// alert ('所选图片大于2M,请重新选择');
// exit;
// }
if ($pic['size'] >200*1024) {
alert ('所选图片大于200K,请重新选择');
exit;
}
$dir_name = date('Ymd');
$dir = 'upload/'.$dir_name;
if (!file_exists($dir)) {
@mkdir($dir);
}
$image_name = $dir_name.rand(0,1000).'.'.$houzhui['extension'];
if (move_uploaded_file($pic['tmp_name'],$dir.'/'.$image_name)) { //move_uploaded_file(old,new) -- 将上传的文件移动到新位置
$sql = "INSERT INTO `upload` (`img_js`,`img_name`,`upload_time`) VALUES ('{$img_js}','{$image_name}','{$upload_time}')";
$res = mysql_query($sql);
if ($res) {
alert ('上传成功');
exit;
}
else {
alert ('上传失败');
exit;
}
}else {
alert('文件移动出错');
exit;
}
}
$tpl->display ('admin/tpl/upload.html');
?>