php上传图片功能的实现
一、建静态页面,要实现上传功能,其实模板很简单,upload.html代码如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>图片上传</title>
</head>
<body>
<form action="upload.php?act=upload" method="post" enctype="multipart/form-data" >
请选择您要上传的图片:<input name="pic" type="file" id="pic" />
<br /><br />
图片介绍:<input name="img_js" type="text" id="img_js" /><br /><br />
<input name="上传" type="submit" id="上传" value="上传" />
</form>
</body>
</html>
二、PHP代码
<?php
/*
* Author : 甘宇
* Email : ganyu_0808@163.com
* 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');
?>
您可能感兴趣的文章:
php文件上传代码大全(实例分享)
php图片上传代码一例
php图片上传并保存到MySql数据库的实现代码
HTML5 File Uploads with jQuery
php图片文件上传类(可自动生成缩略图)
PHP脚本实现Markdown文章上传到七牛图床
php gd库实现服务端图片裁剪与缩略图
PHP图片上传的简单例子
PHP中多张图片上传并校验的实现
php下载css中图片函数